我在inoremap
添加了一些简单的.vimrc
命令来帮助完成parens和括号,但我只想让它们应用于php文件。
inoremap ( ()<Esc>i
inoremap { {<CR>}<Esc>ko
inoremap <? <?php ?><Esc><Left>i
如何将这些命令设置为仅在我编辑.php文件时处于活动状态?
答案 0 :(得分:13)
你需要做两件事:
<buffer>
的{{1}}选项创建特定缓冲区的本地映射。这可以通过inoremap
中的自动命令完成,如下所示:
.vimrc
另一种方法是通过创建文件类型插件。 (有关详细信息,请参阅autocmd FileType php inoremap <buffer> ( ()<Esc>i
)
一个简单的例子就是创建一个名为:h ftplugin
的文件,并将映射放在里面:
~/.vim/after/ftplugin/php.vim
我个人更倾向于使用ftplugin方法,但在inoremap <buffer> ( ()<Esc>i
inoremap <buffer> { {<CR>}<Esc>ko
inoremap <buffer> <? <?php ?><Esc><Left>i
文件中包含所有内容可能会很好。
答案 1 :(得分:7)
使用autocmd FileType
:
autocmd FileType php,c,java inoremap ( ()<Esc>i
答案 2 :(得分:5)
将它们放在此文件中
~/.vim/ftplugin/php.vim
答案 3 :(得分:1)
将它们添加到after目录中的ftplugin文件:
~/.vim/after/ftplugin/php.vim
this answer中的更多信息。
编辑:默认情况下,此文件甚至可能是目录。如果你在那里看不到它,你可能必须这样做。
答案 4 :(得分:0)
可能有更好的方法,但这应该有效:
autocmd FileType php call Inoremaps()
fu! Inoremaps()
inoremap ...
endfu