Vim:打开文件后读取modeline?

Lev*_*son 6 vim bash shell modeline

我从事各种项目,其中许多项目都设置了特定于文件的vim设置.我被要求不在.vimrc中设置模型; 加载文件后加载模型设置是否有办法?

所以,如果我用vim打开tmp.c:

int main(int argc, char* argv[]) {
    return 0;
}

/* vim: set expandtab tabstop=4 : */
Run Code Online (Sandbox Code Playgroud)

是否有一个命令我可以运行来设置模式行中的东西?只是:set modeline在它打开后做什么都没有做.

gni*_*urf 9

之后:set modeline,重新加载缓冲区:e.


Ing*_*kat 8

如果您不想重新加载缓冲区(例如,因为它包含未更改的更改,或者为了避免清除撤消历史记录),您可以使用:doautocmd触发模式行处理的事实:

:set modeline | doautocmd BufRead
Run Code Online (Sandbox Code Playgroud)


rom*_*inl 3

你可以告诉 vim 在获取你的之前执行任意命令~/.vimrc

$ vim --cmd "set modeline" yourfile
Run Code Online (Sandbox Code Playgroud)