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)] ...
随机推荐
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]
输入表名,生成插入语句 drop proc proc_insert //如果存在就删除 go create proc proc_insert (@tablename varchar(256)) as ...
- 基于OCR的SeeTest框架可行性分析总结
总的来说相比其他几个免费框架,SeeTest功能更全面和易用,但收费有点昂贵:License 3500/年:多平台和多语言(基于OCR)还需要额外购买,分别是500/Year和1750$/.详情请查看 ...
- Android注入事件的三种方法比较
方法1:使用内部APIs 该方法和其他所有内部没有向外正式公布的APIs一样存在它自己的风险.原理是通过获得WindowManager的一个实例来访问injectKeyEvent/injectPoin ...
- GIMP也疯狂之动态图的制作(一)
写在前面的话:本系列gimp教程已首发在Linux吧(Go),之所以重新发表是因为便于博主分类并且可以重新整理,用作记录.本系列的侧重不是GIF的教程,而是gimp教程,想更好的制作GIF图片请使用专 ...
- C语言运算符表(优先级)
http://www.is.pku.edu.cn/~qzy/c/operator.htm
- mysql查询字段值为数字
原文:mysql查询字段值为数字 我想查询字段值为数字的sql如下:select * from tj_item_result where tj_value REGEXP '^[0-9]'
- AJAX 表单提交 文件上传
1. AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载 ...
- C#开发157
C#开发157条建议 编写高质量代码改善C#程序的157个建议[匿名类型.Lambda.延迟求值和主动求值] 摘要: 前言 从.NET3.0开始,C#开始一直支持一个新特性:匿名类型.匿名类型由v ...
- Java编程思想笔记(第二章)
第二章 一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...
- HttpTest4Net
HttpTest4Net HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用 ...