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)] ...
随机推荐
- 基于 自己定义注解 和 aop 实现使用memcache 对数据库的缓存 演示样例
好久没更新blog了,在新公司打拼了两个月,每天都从早忙到晚,学到了非常多东西,可是没有时间来更新blog了.... 以下開始解说这次的主题 公司老大让我研究 ocs 就是阿里云的 开放缓存服务 点击 ...
- 微信公众平台消息接口PHP版开发教程
原文:微信公众平台消息接口PHP版开发教程 一.写好接口程序 在你的服务器上上传好一个接口程序文件,如http://www.yourdomain.com/weixin.php 内容如下: &l ...
- 搭建一个三台服务器的Memcached集群
关于memcached的基础知识可以查看博客其他博文,这里只记录了搭建的过程,谢谢! 1.分别在三台服务器上安装Memcached并启动 第一.由于memcached是基于libevent的事件处理, ...
- asp.net动态加载ascx用户控件
原文:asp.net动态加载ascx用户控件 在主aspx/ascx文件中,将目标ascx1,ascx2控件拖拉到其页面中,然后删除,目的是要生成:Register 代码,然后在主文件中定义DIV或T ...
- IOS中TableView的使用(1) -创建一个简单的tableView
创建一个简单的tableView: #import <UIKit/UIKit.h> /*tableView 一定要遵守这两个协议: UITableViewDataSource,UITabl ...
- 安卓WindowManager注入事件如何跳出进程间安全限制
在分析monkey源码的时候有些背景知识没有搞清楚,比如在看到monkey是使用windowmanager的injectKeyEvent方法注入事件的时候,心里就打了个疙瘩,这种方式不是只能在当前应用 ...
- 学习Swift写iOS?那写安卓和WinPhone呢?请看一石三鸟终极解决方案 - Silver!
首先,你必须知道的是,Silver是苹果最新编程语言Swift的免费实现版本. 通过Silver,你可以使用Swift语言来编写.NET,Java,安卓和Cocoa APIs.你甚至可以在这些平台上共 ...
- Linq to Sql : 三种事务处理方式
原文:Linq to Sql : 三种事务处理方式 Linq to SQL支持三种事务处理模型:显式本地事务.显式可分发事务.隐式事务.(from MSDN: 事务 (LINQ to SQL)).M ...
- Python 静态变量 与 静态方法
静态变量: XXXClass.py: class XXXClass: CONST_Value = 10.1 Tester.py: import XXXClass print XXXClass.XXXC ...
- ReSharper 8.1支持Visual Studio 2013的特色——超强滚动条
自ReSharper 8.1发布以来,便支持Visual Studio 2013.其中peek功能是它的亮点,滚动条则是它的特色. 接下来小编将展示ReSharper在Visual Studio 20 ...