如何通过python源代码文件中的注释覆盖vim选项?

2024-05-18 10:09:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在comments部分的一个文件中设置一些vim选项。

例如,我想在一个文件中设置这个选项

set syntax=python

该文件没有.py扩展名,我不想让vim安装将具有此扩展名的所有文件识别为python文件。

我知道这是可以做到的,因为我看过,但我的谷歌搜索还没有取得成果。


Tags: 文件py选项vimcommentssyntaxset成果
3条回答

您需要一个modeline语法,例如

# vim: set syntax=python:

有关更多详细信息,请参见Vim Wikia上的Modeline magic

我没有太多使用vim,但我认为您需要在文件末尾添加一行如下:

# vim: set syntax=python:

通过在文件顶部或底部添加模型线,可以覆盖Vim选项,例如:

// vim: set syntax=python:

或:

/* vim: set syntax=python: */

或类似:

# vim: set syntax=python ts=4 :

其他示例(来自wikia):

// vim: noai:ts=4:sw=4
   -or-
/* vim: noai:ts=4:sw=4
*/
   -or-
/* vim: set noai ts=4 sw=4: */
   -or-
/* vim: set fdm=expr fde=getline(v\:lnum)=~'{'?'>1'\:'1': */

下面是我正在使用的示例(在文件的最后一行):

# vim: set ts=2 sts=2 et sw=2 ft=python:

几大亮点:

  • Vim只在modeline设置为modeline或positive整数且您不是根用户(某些操作系统,如Debian、Ubuntu、Gentoo、OSX等,出于安全原因,默认情况下禁用modeline)时才执行modeline,因此需要将set modeline添加到~/.vimrc文件({})中
  • 行必须在第一行或最后几行
  • 打开注释和vim:之间需要空格
  • vim检查modeline的位置由modelines变量控制(请参见::help 'modelines'
  • 使用set,模型线在第一个冒号(:)处结束
  • “vim:”以外的文本可以识别为模型。

相关:

相关问题 更多 >