1. 写文本文件的时候会经常用到重复的文本内容,重复的做一件事情,总是让程序员想动动手,把操作变得更加简捷舒适.
将文本内容写入模板文件中DEMO.tplt,用的时候直接在命令行用r DEMO.tplt ;
2. 查询文本的时候,如何有选择性的查询,使用|表达式,让查询变得更加容易.
以Python中的关键字def ,class为例,如果我们知道类或者函数都是在Python文件的第一列开始,那么问题变得简单了在命令行用 /^def\|^class.如此你可以安心的在每一个块间自由跳转了;
3. 删除代码块,删除连续多行,使用标记的方式,让删除跳转多些神秘感.
使用标记语法,把开始的地方标记"m a",结束的地方标记"m b", 想要删除还不简单, " 'a d 'b "。
当然对于有括号这类的代码块删除,可以有更加简便的方式,开始的地方输入d然后再%,这样这一块内容都将删除;
4. 拷贝粘贴的代码好多空格,此时我更想换成其他字符,文本内容替换解决掉一个又一个的命令输入.
在导出数据的时候需要将其中的空格替换成其他的指定符号,刚开始的时候用替换弄的我很不愉快.将多个空格替换成指定的字符" %s/\s\{2,\}/#/g " ,将空格替换成#号.
5. 调整光标的位置,让光标位置正中显示.
用jk什么的命令看代码,汪汪光标的位置会跑到最顶上或者最下面,使用命令"zz"将当前光标位置重置到屏幕正中.
6. 调整光标的位置,让光标跳转到页头,页中,页尾.
在本页之中如何将光标快速跳到当前页的头,页中部,页尾部.一步到位"H"Home, "M" Middle, "L" Last 的三个命令,分别对应页首,页中,页尾.
7. 有行代码需要修改先"dd"删除,然后"O"再继续插入.
删除当前行,并继续在当前行编辑请换个姿势使用"cc" 命令.
8. Ctrl+v的块状模式对于交易列数据非常有用.
需要处理表格数据,交换N列和J列,使用这个模式选中需要交换的信息,然后"d"掉,再移动到相应的位置"p"粘贴.
9. 操作命令映射,再次让重复的输入再具神秘感.
按键映射成单词加上括号的功能. 将Love变成被围绕的{Love},":map <F5> i{<Esc>ea}<Esc>" .
10. 文件之间的标记跳转,让这个命令更加Amazing !
"ma,mb"这样的标记,标记当前文件的a位置和b位置;"mA,mB",将标记换成大写,标记不同文件的位置,跳转只需要" 'A " 或者 " 'B " .
11. 圈定替换作用范围,逃避全局替换,让搜索结合替换使用 .
搜索模式指定作用范围,模式之间的内容,全部替换. " :?^Chapter?,/^Chapter/s=grey=gray=g " ?^Chapter? 表示范围开始,/^Chapter/表示范围结束;s表示替换,=号表示分隔符,将grey换成gray,g表示所有都替换;
12. 看着内容排序不满意,想做点特别的展示,将所有内容反序排列.
" :'t+1,.g/^/m 't " g=global , m=move ;
也可以这样反转所有的行" :g/^/m 0 " ; 0是个神奇行,这行把每一行都放到它的前面;
13. 消除行尾多余的空格 .
":%s/\s\+$// " ; 这里\s是空格的意思\+是表示1个或者多个空格的意思,$表标行末;
14. 使用折行,将内容折叠起中,查看更多的内容 .
"zf% "这个功能可以匹配对应的括号让这一段的内容都被折叠起来。
打开所有的折叠zR.关闭所有的折叠zM ;
15. 行向左对齐,向右对齐,居中对齐,把排列做的简单点 .
" :le "光标所在行左对齐
" :ri "光标所在行右对齐
" :ce "光标所在行居中对齐 ;
16. 单词前后位置顺序替换 .
将"Last, First" 替换成 "First Last", 试试这个" :%s/\([^,]*\), \(.*\)/\2 \1/ "
17. vim中的缩写功能,让好玩的更好玩 .
":ab uno Unix Operating System " 当你输入uno的时候 就会自动变成Unix Operating System.