很有用的命令。

很给力的说。

http://vim.wikia.com/wiki/Making_a_list_of_numbers

我在 html中需要增加新的标签的时候,就有用到过。

原来的html代码为:

            <div class="edit_box" id="box1">
<label>
<h1 class="title">Title1</h1>
<p class="description">很好</p>
</label> </div>
<div class="edit_box" id="box2">
<label>
<h1 class="title">Title2</h1>
<p class="description">非常好</p>
</label> </div>
<div class="edit_box" id="box3">
<label>
<h1 class="title">Title3</h1>
<p class="description">相当好</p>
</label>
</div>

先是用这个在html标签下增加了一行标签。

下面是vim命令,变成了如下的效果。

:g/<p class="description"/normal o<input type="hidden" id="hidden1" value=""/>
<div class="edit_box" id="box1">
<label>
<h1 class="title">Title1</h1>
<p class="description">真好啊</p>
<input type="hidden" id="hidden1" value=""/>
</label> </div>
<div class="edit_box" id="box2">
<label>
<h1 class="title">Title2</h1>
<p class="description">非常好</p>
<input type="hidden" id="hidden1" value=""/>
</label> </div>
<div class="edit_box" id="box3">
<label>
<h1 class="title">Title3</h1>
<p class="description">相当好</p>
<input type="hidden" id="hidden1" value=""/>
</label> </div>

上面的id="hidden1" 都是1的。我要将他们改变成1,2,3.。。依次递增的。所以,需要用到一点正则表达式,

还有特别有用的管道。我很钟爱哟~  :)

然后,又用这行,使标签中的id的值,依次递增。

:let i =  | g/id="hidden/s/\d/\=i/ | let i+=1
<div class="edit_box" id="box1">
<label>
<h1 class="title">学习</h1>
<p class="description">如何在学业上掌握先机</p>
<input type="hidden" id="hidden1" value=""/>
</label> </div>
<div class="edit_box" id="box2">
<label>
<h1 class="title">婚恋</h1>
<p class="description">你的爱情密码</p>
<input type="hidden" id="hidden2" value=""/>
</label> </div>
<div class="edit_box" id="box3">
<label>
<h1 class="title">事业</h1>
<p class="description">成功的钥匙就在自己手中</p>
<input type="hidden" id="hidden3" value=""/>
</label> </div>

然后,就成了这样,id="hidden3" 了。非常不错吧。

可以增加随意行,随意递增数啦。

各种加,非常爽的说。编程无极限啦~

这篇文章比较有用的 “Increasing or decreasing numbers” 地址:http://vim.wikia.com/wiki/Increasing_or_decreasing_numbers

好好看看吧。

————————————————————————NOTICE***NOTICE***Hahaha——————————————————————

不过要说的一点是,关于自动缩进,我已经安装好了如下的环境:

1.vim-pathogen 地址 https://github.com/tpope/vim-pathogen

2.NERDTree https://github.com/scrooloose/nerdtree (先装完vim-pathogen后再装NERDTree, 请看其github reference)

3.vim-sensible https://github.com/tpope/vim-sensible (先装完vim-pathogen后再装vim-sensible, 请看其github reference)

而我的 .vimrc 文件是下面这样的:

set expandtab
set tabstop=
set shiftwidth=
set softtabstop=
set hls execute pathogen#infect()
syntax on
filetype plugin indent on

解释为将tab更换成4个空格了,shiftwidth也等于4. 设置了搜索高亮。 set hls

设置了,用删除键删除4个空格的tab时,可以一键删除。

下面的是表示载入的~/.vim/autoload/pathogen.vim 中的这个函数infect()

  这个函数是导向 ~/.vim/bundle/   中的所有插件的地址,这样安装管理插件十分方便。大赞啊!!

就这么简单的设置,不算太复杂,用起来非常爽的说,你可以在代码的世界里任意傲游了,随意修改任何你想修改的部分,按照一定规律。 :)

Hv Fun :)

vim 多行同时输入,且输入数值递增的更多相关文章

  1. VIM 多行输入 数字递增 新方法 循环记录法

    采用的是mario register这个方法,然后,把一段 auto-increament 操作记录下来,然后playback 循环往复多次.就达到了,每行都递增的目的. 我写的文字如下: vim 输 ...

  2. 在命令行cmd 下,输入dxdiag 查看关于电脑许多硬件的详细信息

    输入命令就可以查看本机的很多硬件的详细信息: 在命令行cmd 下,输入dxdiag  查看关于电脑许多硬件的详细信息

  3. 设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。

    设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 ...

  4. vim显示行号

    在Linux环境下的编辑器有vi.vim.gedit等等.进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的.我们有二种办法可以解决: 第一种是,手动显示:在 ...

  5. Ubuntu vim显示行号语法高亮自动缩进

    配置文件名为Ubuntu vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为Ubuntu vimrc在终端 输入以下命令来编辑Ubuntu vimrc配置文件:sudo vi ...

  6. 【转】 Vim多行缩进及高级命令

    学习别人的帖子,把内容变成自己的就是成长,此处MARK下 Vim多行缩进技巧 1.按v进入visual状态,选择多行,用>或<缩进或缩出 2. 通常根据语言特征使用自动缩进排版:在命令状态 ...

  7. 【转】设置 vim 显示行号永久有效

    在linux环境下,vim是常用的代码查看和编辑工具.在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便.那么怎样才能让vim显示代码的行号呢? 1 临 ...

  8. vim显示行号、语法高亮、自动缩进、添加下划线的设置

    ubuntu默认是没有安装vim的,所以设置以前请先安装vim:sudo apt-get install vim. 然后 打开vim的配置文件:sudo vim /etc/vim/vimrc 或者 s ...

  9. centos7 vim显示行号

    CentOS7下可能有n个账户,让vim显示行号有两种方法:仅让当前用户显示行号和让所有用户显示行号   一.仅让当前用户显示行号 输入命令:vim ~/.vimrc 写入:set nu 保存:wq ...

  10. vim 跳行查看日志

    VIM 跳跃行号 一.显示行号 在命令模式下输入 :set nu   或者   :set number 即可显示行号 二.跳跃行号 在编辑模式下输入 ngg 或者 nG [n为指定的行数(如25)] ...

随机推荐

  1. 一些常用的jquery数字正则表达式

    使用 <script type="text/javascript"> function validate(){ var reg = new RegExp("^ ...

  2. Eclipse生成jsp 如何将GB18030 改成默认UTF-8

    前两天面试被问到了struts的问题,好久没用了准备复习下,用eclipse创建一个maven项目的时候发现创建的jsp文件都是GB18030编码的,如何更改为UTF-8呢,其实很简单,给各位分享一下 ...

  3. Linux C 多线程

    原文:Linux C 多线程 linux下C语言多线程编程 #include <pthread.h> #include <stdio.h> #include <sys/t ...

  4. c++ Constructor FAQ 继续

    这一章的时候,才明白什么是编译器的声明只会是一个默认的构造.这也解释了为什么同一似乎没有意义的界定,如果不还声明默认构造函数的意义. Q:当编译器隐含定义了一个默认的构造函数. 答: 一个隐式声明的默 ...

  5. 微信应用号开发知识贮备之altjs官方实例初探

    天地会珠海分舵注:随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生.从获得微信应用号邀请的业内人士发出来的一张开发工具源码截图可以看到,reacjs及其相应的FLUX框架altjs很有可能会成 ...

  6. CocoaPods在使用中的几个问题

    来源: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/ 1. 当把CocoaPods生成的workspace移动到上层 ...

  7. Ios 从无到有项目 MVVM模式(两)

    1.该项目昨天,我认为未来,有三个部分,第一部分是基于一个在线数据查询对聚合,第二部分是xmpp聊天功能,第三部分是很多其他功能. 2.在线咨询,使用的主要技术,它是get要求或post要求,该网上查 ...

  8. PL/SQL个人学习笔记(二)

    IF条件 declare cursor s is            select version from city_server t;   s_ city_server.version%type ...

  9. OCP-1Z0-051-题目解析-第13题

    13. View the Exhibit and examine the structure of the PRODUCTS table. You need to generate a report ...

  10. 微软的权限框架Asp.Net Identity

    Asp.Net Identity 深度解析 之 注册登录的扩展   关于权限每个系统都有自己的解决方案,今天我们来讨论一下微软的权限框架Asp.Net Identity ,介绍如下  http://w ...