我已经添加了一些简单的inoremap
命令到我的.vimrc
来帮助完成parens和括号,但我只希望它们适用于php文件。Vim inoremap特定文件类型
inoremap (()<Esc>i
inoremap { {<CR>}<Esc>ko
inoremap <? <?php ?><Esc><Left>i
如何将这些命令设置为仅在编辑.php文件时处于活动状态?
我已经添加了一些简单的inoremap
命令到我的.vimrc
来帮助完成parens和括号,但我只希望它们适用于php文件。Vim inoremap特定文件类型
inoremap (()<Esc>i
inoremap { {<CR>}<Esc>ko
inoremap <? <?php ?><Esc><Left>i
如何将这些命令设置为仅在编辑.php文件时处于活动状态?
使用autocmd FileType
:
autocmd FileType php,c,java inoremap (()<Esc>i
有可能是一个更好的方式来做到这一点,但这应该工作:
autocmd FileType php call Inoremaps()
fu! Inoremaps()
inoremap ...
endfu
把它们放在一个文件
~/.vim/ftplugin/php.vim
你需要做2件事:
inoremap
使用<buffer>
选项创建映射到特定缓冲区的本地映射。这可以通过一个自动在您的.vimrc
来完成,像这样:
autocmd FileType php inoremap <buffer> (()<Esc>i
另一种方式的选择是通过创建一个插件。 (见:h ftplugin
有详细介绍)
一个简单的例子是做创建一个名为,~/.vim/after/ftplugin/php.vim
文件,并放在里面,像这样的映射:
inoremap <buffer> (()<Esc>i
inoremap <buffer> { {<CR>}<Esc>ko
inoremap <buffer> <? <?php ?><Esc><Left>i
我个人更倾向于本插件的方法,但具有在一切你的.vimrc
文件可以很好。
好极了,五分之一的作者只知道'
有趣的是,
@CamelBlues:你能告诉我那个休息的命令吗?通常当你有不必要的':'例如E488错误时'autocmd FileType php:inoremap
将它们添加到文件类型插件文件的目录后:
~/.vim/after/ftplugin/php.vim
更多信息在this answer。
编辑:此文件,甚至可能是目录,默认情况下不会在那里。如果你在那里看不到它,你可能必须做出来。
[vim:想让它只为某些文件类型打开设置]的可能重复(http://stackoverflow.com/questions/469564/vim-would-like-it-to-turn-settings-on - 仅限于某些文件类型) – gpojd 2012-01-11 21:08:29