vim缩写总结

vim

利用:ab[breviate]缩写命令,我们可以用一个缩写来代替一组字符,此后只要输入缩写,就可以自动插入其代表的字符串以提高输入效率。

设置缩写

使用以下命令,将定义ad来代替advertisement:

1
: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。

1
2
:abbreviate AS Android Studio
# 或者简写为:ab AS Android Studio

如果你编写程序,那么利用以下设置,可以加快添加注释的速度:

1
2
3
:ab #b /**********************
:ab #e **********************/

如果你设计网页,那么利用以下缩写可以快速增加标签。其中将在标签间自动插入换行,以方便你继续输入内容。

1
:iab p <p><CR><LF></p>

利用以下命令,我们甚至还可以定位光标所处的位置:

1
:iab icode <code class="inset">!cursor!</code><Esc>:call search('!cursor!','b')<CR>cf!

我们还可定义命令缩写。例如以下命令,将在新的标签页中显示帮助信息:

1
2
#在命令行中执行`:h`回车即可
:cabbrev h tab h

** 我们可以将常用的缩写命令定义在vimrc配置文件之中,它们将在Vim启动时自动装载,而不需要再逐一重新定义。

查看缩写

使用:abbreviate命令,将列出所有缩写定义,其中第一列显示缩写的类型:

标记 模式
! 插入模式,命令行模式
i 插入模式
c 命令模式

取消缩写

可以使用以下命令,移除某个缩写:

1
2
#或简写为:una ad,取消ad缩写
:unabbreviate ad

针对不同模式下的缩写,需要使用与其相对应的unabbreviate命令。例如:使用:iunabbreviate命令,取消插入模式下的缩写,而:iabclear命令则会清除所有插入模式的缩写定义;依此类推,取消和清除命令行模式下的缩写,则需要使用:cunabbreviate和:cabclear命令。

如果想要清除所有缩写,可以使用以下命令:

1
:abclear

命令小结

命令 备注
:abbreviate 定义缩写
:unabbreviate 取消缩写
:abclear 清除所有缩写
1
2