我已經添加了一些簡單的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