Vim 文件内命令

标签 vim

我正在寻找一种可以通过vim向文本文件添加其他命令的方法。例如,就像你可以做这样的事情:

# vim:syntax=foo

我想做类似的事情:
# vim:option call matchadd('Special', '\(REQUIRED\|OPTIONAL\)')

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

最佳答案

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旁边的文件
您的目标文件或项目文件夹。脚本存储在该 .lvimrc
当您在“本地”.vimrc 所在的同一目录中打开文件时执行
是,或在其子目录中。上面显示的自动命令(或任何其他
配置)可以存储在 .lvimrc文件本地项目。为了
详情 localvimrc配置见插件主页。

关于Vim 文件内命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6366049/

相关文章:

vim - 如何从 vim 命令行中选择?

vim - 如何在 Vim 中关闭 Omni Complete?

vim 保存后会创建我的文件的副本吗?

c++ - VIM YouCompleteMe 错误 - NoExtraConfDetected : No . 检测到 ycm_extra_conf.py 文件

Vim 拼写高亮

Vim 在对字典和当前文件使用自动完成时卡住

python - gtk3 和 pygobject 的自动完成

git - PowerShell,vim和别名与* .cmd(使用git时)

regex - Vim 中的多行正则表达式支持

vim - 在.vimrc中, `set nocompatible`完全没有用吗?