====== VIM中的缩写 ======
===== 设置缩写 =====
利用:ab[breviate]缩写命令,我们可以用一个缩写来代替一组字符,此后只要输入缩写,就可以自动插入其代表的字符串。
使用以下命令,将定义ad来代替advertisement:
:abbreviate ad advertisement
当想要输入advertisement时,只要输入ad,然后Ctrl-]键就可以输入advertisement了;如果点击Esc键,将插入扩展字符并返回命令模式;如果按下Space或Enter键,那么将在插入扩展字符后,自动增加空格或回车。
===== 不同模式下的缩写 =====
使用下表中不同形式的abbreviate命令,可以针对特定的模式设置缩写:
^Command命令 ^Insert Only插入模式 ^Command Line命令行模式^
|:abbreviate |y |y |
|:iabbrev |y |
|:cabbrev | |y |
===== 缩写实例 =====
我们可以为多个单词设置缩写。例如以下命令,将设置Jack Berry的缩写为JB。
:abbreviate JB Jack Berry
如果你编写程序,那么利用以下设置,可以加快添加注释的速度:
:abbreviate #b /**********************
:abbreviate #e **********************/
如果你设计网页,那么利用以下缩写可以快速增加标签。其中将在标签间自动插入换行,以方便你继续输入内容。
:iabbrev p
利用以下命令,我们甚至还可以定位光标所处的位置:
:iabbrev icode !cursor!
:call search('!cursor!','b')cf!
我们还可定义命令缩写。例如以下命令,将在新的标签页中显示帮助信息:
:cabbrev h tab h
===== 查看缩写 =====
abbreviate
使用:abbreviate命令,将列出所有缩写定义,其中第一列显示缩写的类型:
{{:linux:vim:vim-abb-list.jpg|}}
^标记 ^模式 ^
|! |插入模式,命令行模式|
|i |插入模式 |
|c |命令模式 |
===== 取消缩写 =====
可以使用以下命令,移除某个缩写:
:unabbreviate ad
针对不同模式下的缩写,需要使用与其相对应的unabbreviate命令。
例如:使用:iunabbreviate命令,取消插入模式下的缩写,而:iabclear命令则会清除所有插入模式的缩写定义;
依此类推,取消和清除命令行模式下的缩写,则需要使用:cunabbreviate和:cabclear命令。
如果想要清除所有缩写,可以使用以下命令:
:abclear
===== 参考 =====
* http://yyq123.blogspot.com/2010/12/vim-abbreviation.html