【问题标题】:Vim: read modeline after opening the file?Vim:打开文件后读取模式行?
【发布时间】:2014-06-16 04:06:33
【问题描述】:

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

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

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

/* vim: set expandtab tabstop=4 : */

我可以运行一个命令来设置模式行中的内容吗? :set modeline 在它打开后只是做它不会做任何事情。

【问题讨论】:

  • :set modeline之后,用:e重新加载文件。
  • @gniourf_gniourf 你应该写这个作为答案。

标签: bash shell vim modeline


【解决方案1】:

:set modeline 之后,使用:e 重新加载缓冲区。

【讨论】:

    【解决方案2】:

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

    :set modeline | doautocmd BufRead
    

    【讨论】:

    • 谢谢!有用!但是之后我该如何禁用它呢?我发布了一个问题,请在那里回答:link
    【解决方案3】:

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

    $ vim --cmd "set modeline" yourfile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-26
      • 2012-03-17
      • 1970-01-01
      • 2013-01-16
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多