利用:ab[breviate]缩写命令,我们可以用一个缩写来代替一组字符,此后只要输入缩写,就可以自动插入其代表的字符串以提高输入效率。
设置缩写
使用以下命令,将定义ad来代替advertisement:
:abbreviate ad advertisement
当想要输入advertisement时,只要输入ad,然后:
不同模式下的缩写
使用下表中不同形式的abbreviate命令,可以针对特定的模式设置缩写:
Command 命令 | Insert Only 插入模式 | Command Line 命令行模式 |
:abbreviate | y | y |
:iabbrev | y | |
:cabbrev | y |
缩写实例
我们可以为多个单词设置缩写。例如以下命令,将设置Jack Berry的缩写为JB。
:abbreviate JB Jack Berry
如果你编写程序,那么利用以下设置,可以加快添加注释的速度:
:abbreviate #b /**********************
:abbreviate #e **********************/
如果你设计网页,那么利用以下缩写可以快速增加标签。其中<CR><LF>将在标签间自动插入换行,以方便你继续输入内容。
:iabbrev p <p><CR><LF></p>
利用以下命令,我们甚至还可以定位光标所处的位置:
:iabbrev icode <code class="inset">!cursor!</code><Esc>:call search('!cursor!','b')<CR>cf!
我们还可定义命令缩写。例如以下命令,将在新的标签页中显示帮助信息:
:cabbrev h tab h
我们可以将常用的缩写命令定义在vimrc配置文件之中,它们将在Vim启动时自动装载,而不需要再逐一重新定义。
查看缩写
使用:abbreviate
命令,将列出所有缩写定义,其中第一列显示缩写的类型:
标记 | 模式 |
! | 插入模式,命令行模式 |
i | 插入模式 |
c | 命令模式 |
取消缩写
可以使用以下命令,移除某个缩写:
:unabbreviate ad
针对不同模式下的缩写,需要使用与其相对应的unabbreviate命令。例如:使用:iunabbreviate
命令,取消插入模式下的缩写,而:iabclear
命令则会清除所有插入模式的缩写定义;依此类推,取消和清除命令行模式下的缩写,则需要使用:cunabbreviate
和:cabclear
命令。
如果想要清除所有缩写,可以使用以下命令:
:abclear
:abbreviate | 定义缩写 |
:unabbreviate | 取消缩写 |
:abclear | 清除所有缩写 |