在gVim中自动生成c代码
在gVim中的*.c文件中,当我键入在gVim中自动生成c代码,vim,Vim,在gVim中的*.c文件中,当我键入for(时,我希望Vim生成基本for循环结构的其余部分,如下所示 for(;;) { } 我是在以下缩写的帮助下实现这一点的 ab for( for(;;)<CR>{<CR>} ab for(for(;){ 但是,我希望此缩写仅在c文件中有效 我是否可以在\u vimrc中使用一个条件,以便在所有文件中禁用缩写,但在*.c文件中除外?使用vim实现这一点的一个好方法是使用自动命令,例如: autocmd FileType c
for(
时,我希望Vim生成基本for循环结构的其余部分,如下所示
for(;;)
{
}
我是在以下缩写的帮助下实现这一点的
ab for( for(;;)<CR>{<CR>}
ab for(for(;){
但是,我希望此缩写仅在c
文件中有效
我是否可以在
\u vimrc
中使用一个条件,以便在所有文件中禁用缩写,但在*.c文件中除外?使用vim实现这一点的一个好方法是使用自动命令,例如:
autocmd FileType c abb <buffer> for( for(;;)<CR>{<CR>}
autocmd文件类型c abb for(for(;;){}
自动命令
功能非常强大,而且效果非常好。
在本例中,请小心将abb
与
参数一起使用,因为您希望此缩写仅在c源文件缓冲区中处于活动状态。例如,请参阅文档。此功能通常称为“snippets”
它由各种Vim插件支持,比如我使用过abb,但我没有看到预期的结果。我的意思是,当我在缓冲区中有*.c和*.txt文件时,这个ab也在*.txt文件中启用……我相信它的缩写,ab
和abb
只是缩写abb
的缩写形式对于缩写本地
,它定义了一个仅对当前缓冲区有效的缩写,因此与autocmd
结合使用非常有趣,请参阅没有名为:缩写本地
的命令。处理本地缩写的方法是使用:缩写
谢谢@FDinoff,我确实误解了文档修正了答案。