Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过python源代码文件中的注释覆盖vim选项?_Python_Vim - Fatal编程技术网

如何通过python源代码文件中的注释覆盖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

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

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

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
    设置为
    modeline
    或一个正整数且您不是root用户时(某些操作系统,如Debian、Ubuntu、Gentoo、OSX等。出于安全原因,默认情况下禁用modeline),Vim才会执行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: