Vim文件内命令

Cyr*_*rus 4 vim

我正在采用一种方法,通过它可以通过vim向文本文件中添加其他命令.例如,就像你可以这样做:

# vim:syntax=foo
Run Code Online (Sandbox Code Playgroud)

我想做点什么:

# vim:option call matchadd('Special', '\(REQUIRED\|OPTIONAL\)')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我知道我可以写一个语法文件,但这不是我现在所追求的.

ib.*_*ib. 5

Vim模式行语法(请参阅参考资料:help modeline)并非用于指定在文件打开期间执行的命令.这正是autocommands的用途(参见参考资料 :help autocommand).你要做的应该是一个类似以下的自动命令.

autocmd FileType foo call matchadd('Special', '\(REQUIRED\|OPTIONAL\)')
Run Code Online (Sandbox Code Playgroud)

要么

autocmd BufReadPost *.foo call matchadd('Special', '\(REQUIRED\|OPTIONAL\)')
Run Code Online (Sandbox Code Playgroud)

(此处*.foo您可以使用与目标文件的路径或文件名(或两者)匹配的任何模式.)

如果您设置的配置是本地的一些文件或一个项目,你不希望你的污染.vimrcautocmdS,使用 localvimrc插件.它允许您.vimrc在目标文件或项目文件夹旁边有一个"本地" 文件..lvimrc当您在"local"所在的同一目录中.vimrc 或在其子目录中打开文件时,将执行存储在其中的脚本.上面显示的自动命令(或任何其他配置)可以存储在.lvimrc项目本地的文件中.有关localvimrc配置的详细信息,请参阅插件的主页.