====== 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