vim 多行同时输入,且输入数值递增
很有用的命令。
很给力的说。
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 多行同时输入,且输入数值递增的更多相关文章
- VIM 多行输入 数字递增 新方法 循环记录法
采用的是mario register这个方法,然后,把一段 auto-increament 操作记录下来,然后playback 循环往复多次.就达到了,每行都递增的目的. 我写的文字如下: vim 输 ...
- 在命令行cmd 下,输入dxdiag 查看关于电脑许多硬件的详细信息
输入命令就可以查看本机的很多硬件的详细信息: 在命令行cmd 下,输入dxdiag 查看关于电脑许多硬件的详细信息
- 设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。
设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 ...
- vim显示行号
在Linux环境下的编辑器有vi.vim.gedit等等.进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的.我们有二种办法可以解决: 第一种是,手动显示:在 ...
- Ubuntu vim显示行号语法高亮自动缩进
配置文件名为Ubuntu vimrc在Fedora中vim的配置文件存放在/etc目录中,配置文件名为Ubuntu vimrc在终端 输入以下命令来编辑Ubuntu vimrc配置文件:sudo vi ...
- 【转】 Vim多行缩进及高级命令
学习别人的帖子,把内容变成自己的就是成长,此处MARK下 Vim多行缩进技巧 1.按v进入visual状态,选择多行,用>或<缩进或缩出 2. 通常根据语言特征使用自动缩进排版:在命令状态 ...
- 【转】设置 vim 显示行号永久有效
在linux环境下,vim是常用的代码查看和编辑工具.在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便.那么怎样才能让vim显示代码的行号呢? 1 临 ...
- vim显示行号、语法高亮、自动缩进、添加下划线的设置
ubuntu默认是没有安装vim的,所以设置以前请先安装vim:sudo apt-get install vim. 然后 打开vim的配置文件:sudo vim /etc/vim/vimrc 或者 s ...
- centos7 vim显示行号
CentOS7下可能有n个账户,让vim显示行号有两种方法:仅让当前用户显示行号和让所有用户显示行号 一.仅让当前用户显示行号 输入命令:vim ~/.vimrc 写入:set nu 保存:wq ...
- vim 跳行查看日志
VIM 跳跃行号 一.显示行号 在命令模式下输入 :set nu 或者 :set number 即可显示行号 二.跳跃行号 在编辑模式下输入 ngg 或者 nG [n为指定的行数(如25)] ...
随机推荐
- .net中用Action等委托向外传递参数
原文:.net中用Action等委托向外传递参数 一般我们可以使用ref,out达到向外传递参数目的. Action<T>是一个特殊的委托,除了常规应用.我们还可以用它来实现简单 ...
- The Swift Programming Language-官方教程精译Swift(8)闭包 -- Closures
闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包可以捕获和存储其 ...
- Webservice中使用Session、Application
原文:Webservice中使用Session.Application 在Asp.Net 2.0里,已经能够在WebMethod里使用 Session . Application 这种服务器变量了.一 ...
- Android KeyStore Stack Buffer Overflow (CVE-2014-3100)
/* 本文章由 莫灰灰 编写,转载请注明出处. 作者:莫灰灰 邮箱: minzhenfei@163.com */ 1. KeyStore Service 在Android中,/system/bi ...
- UiAutomator源码分析之获取控件信息
根据上一篇文章<UiAutomator源码分析之注入事件>开始时提到的计划,这一篇文章我们要分析的是第二点: 如何获取控件信息 我们在测试脚本中初始化一个UiObject的时候通常是像以下 ...
- System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string, string)已过时的解决办法
FormsAuthentication.HashPasswordForStoringInConfigFile 方法是一个在.NET 4.5中已经废弃不用的API,参见: https://msdn.mi ...
- javascript的预编译和执行顺序
原文:javascript的预编译和执行顺序 最近在复习javascript的事件处理时发现了一个问题,然后也是我来写javascript的预编译和执行顺序的问题 代码: 代码一<html> ...
- iOS画面模糊
增加 CoreImage.framework CoreGraphic.framework 等库 在使用时引入:#import <Accelerate/Accelerate.h> ,支持 ...
- CanVas类(绘图类)
知识点: Canvas():创建一个空的画布,可以使用setBitmap()方法来设置具体的画布 Canvas(Bitmap bitmap):以bitmap对象创建一个画布,则将内容都绘制在Bitma ...
- js中的屏蔽
js屏蔽效果 /** 屏蔽F1帮助 */ window.onhelp = function(){return false;} /** *屏蔽 F5.Ctrl+N.Shift+F10.Alt ...