如何通过python源代码文件中的注释覆盖vim选项?
我想在comments部分的一个文件中设置一些vim选项 例如,我想在一个文件中设置此选项如何通过python源代码文件中的注释覆盖vim选项?,python,vim,Python,Vim,我想在comments部分的一个文件中设置一些vim选项 例如,我想在一个文件中设置此选项 set syntax=python 该文件没有.py扩展名,我不想让我的vim安装将所有具有此扩展名的文件识别为python文件 我知道这是可以做到的,因为我已经看到了,但我在谷歌上搜索这一点还没有收获 # vim: set syntax=python: 有关更多详细信息,请参阅:在Vim Wikia上。我没有太多使用Vim,但我认为您需要在文件末尾添加一行,如下所示: # vim: set synt
set syntax=python
该文件没有.py扩展名,我不想让我的vim安装将所有具有此扩展名的文件识别为python文件
我知道这是可以做到的,因为我已经看到了,但我在谷歌上搜索这一点还没有收获
# vim: set syntax=python:
有关更多详细信息,请参阅:在Vim Wikia上。我没有太多使用Vim,但我认为您需要在文件末尾添加一行,如下所示:
# vim: set syntax=python:
通过在文件顶部或底部附近添加modeline,可以覆盖Vim选项,例如:
// vim: set syntax=python:
或:
或者说:
# vim: set syntax=python ts=4 :
其他示例(摘自):
下面是我正在使用的示例(在文件的最后一行):
几大亮点:
- 只有当
设置为modeline
或一个正整数且您不是root用户时(某些操作系统,如Debian、Ubuntu、Gentoo、OSX等。出于安全原因,默认情况下禁用modeline),Vim才会执行modeline,因此您需要将modeline
添加到设置modeline
文件(~/.vimrc
)中,:e$MYVIMRC
- 该行必须位于第一行或最后几行中
- 开场白和
之间需要空格vim:
- vim检查modeline的位置由
变量控制(请参阅:modeline
):help'modeline'
- 设置
后,模型线在第一个冒号处结束(
):
- “vim:”以外的文本可以识别为模型线
- 在维姆维基
- at SS或Google:vim modeline漏洞
#vim:set syntax=python:
(注意冒号)@ZyX冒号做什么?@evgenisergev哪个?vim需要在vim
后加冒号才能识别modeline。单行C样式注释(/*…*/
)需要尾随冒号,在任何其他情况下,您都希望在vim modeline之后编写一些内容。只是一个习惯:由于C风格的注释(以及任何其他既有开始又有结束的类似HTML的注释)需要写尾随冒号来将注释结束标记放在同一行,因此您很容易养成总是写这个冒号的习惯。@nisc这两种变体都是正确的。虽然最常见的是#vim:syn=python
(注意没有set
和尾随冒号(我已经解释了它通常被编写的原因)以及选项的缩写形式:出于某些原因,这种形式非常常见)。@ZyX实际上,如果没有尾随:
,则设置了的版本根本不起作用,至少在gVim 7.3中是这样。另外请注意:vim:
interest之前必须有一个空格,因为目前我无法用文件注释更改选项,奇怪的是,你知道为什么吗?
# vim: set syntax=python ts=4 :
// 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: