2011-06-16 110 views
4

我想通過它可以通過vim向文本文件添加其他命令。例如,就像你可以做這樣的事情:Vim In-File命令

# vim:syntax=foo 

我想這樣做:

# vim:option call matchadd('Special', '\(REQUIRED\|OPTIONAL\)') 

任何想法?我知道我可以編寫一個語法文件,但這不是我現在所要做的。

回答

5

Vim模式語法(請參閱:help modeline)不打算在文件打開時指定要執行的命令 。這正是自動命令的用途(請參閱 :help autocommand)。你試圖做的應該是一個類似於下面的自動命令 。

autocmd FileType foo call matchadd('Special', '\(REQUIRED\|OPTIONAL\)') 

autocmd BufReadPost *.foo call matchadd('Special', '\(REQUIRED\|OPTIONAL\)') 

(這裏不是*.foo您可以使用匹配路徑或文件名 (目標文件的任何圖案或兩者)。)

如果配置你設置對某些文件或項目是本地的, ,你不想污染你的.vimrc那些autocmd s,使用 localvimrc插件。它允許您在目標文件或項目文件夾中有一個「本地」.vimrc文件,旁邊有 。當您在「本地」.vimrc 所在的相同目錄中或在其子目錄中打開文件時,存儲在該.lvimrc中的腳本爲 。上面顯示的自動命令(或任何其他 配置)可以存儲在本地項目的.lvimrc文件中。對於 有關localvimrc配置的詳細信息,請參閱插件的主頁。

+0

所以這是不可能的,但沒關係,我剛纔添加了一個.vim /語法文件;並且您的意見仍然非常有用 - 謝謝:) – Cyrus 2011-06-17 00:29:49

+1

從該localvimrc提示+1! – progo 2011-06-19 14:58:24