很有用的命令。

很给力的说。

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. c# md5

              还可以加盐,更难以破解 public static string GetMD5(string sDataIn)           {               MD5Crypt ...

  2. 我所理解的Spring AOP的基本概念

    Spring AOP中的概念晦涩难懂,读官方文档更是像读天书,看了非常多样例后,写一些自己理解的一些spring的概念.要理解面向切面编程,要首先理解代理模式和动态代理模式. 如果一个OA系统中的一个 ...

  3. Robotium源码分析之运行原理

    从上一章<Robotium源码分析之Instrumentation进阶>中我们了解到了Robotium所基于的Instrumentation的一些进阶基础,比如它注入事件的原理等,但Rob ...

  4. Linux分配给该用户没有权限登陆

    Linux分配给该用户没有权限登陆 sudo visudo username ALL=(ALL) NOPASSWD:ALL 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  5. leetcode第五题--Longest Palindromic Substring

    Problem:Given a string S, find the longest palindromic substring in S. You may assume that the maxim ...

  6. 利用sqlclr实现数据库服务器端数据加密解密

    在公司中一同事用sqlclr写数据迁移自动化执行脚本,发现他在执行脚本时对数据进行了加密. 个人觉得利用sqlclr对数据进行加密是一个解决数据网络安全传输的不错的方案. 以下是一个小的案例: --- ...

  7. c#多线程随记回顾

    C#多线程随记回顾 1.创建多线程方式知道的有三种: ---手动创建Thread.使用线程池.使用task任务 ---手动创建Thread,分两种带参数和不带参数的帮助委托器 eg:  //帮助器委托 ...

  8. 数据结构栈的java实现

    近来复习数据结构,自己动手实现了栈.栈是一种限制插入和删除只能在一个位置上的表.最基本的操作是进栈和出栈,因此,又被叫作“先进后出”表. 实现方式是这样的:首先定义了一个接口,然后通过这个接口实现了线 ...

  9. SQLSERVER 总结1

    数据:描述事物的符号记录 数据库:按照数据结构来组织和存储管理的数据仓库 数据库管理系统:位于用户与操作系统之间的一层数据管理软件 数据库系统:在计算机系统中引入数据库后的系统构成.由数据库,数据库管 ...

  10. iOS基础 - 文本属性Attributes

    NSKernAttributeName: 调整字句 kerning 字句调整 NSFontAttributeName : [UIFont systemFontOfSize:_fontSize] 设置字 ...