我使用了一个Python文件,其末尾包含以下modeline:
# vim: sts=4:ts=4:sw=4如果我用这个文件启动Vim,modeline将被忽略。我该如何解决这个问题呢?顺便说一下,我在我的.vimrc中设置了nocompatible。
发布于 2011-01-04 10:45:33
我将问题追踪到一个名为local_vimrc.vim的本地插件。modeline不工作的事实是插件的副作用。
发布于 2017-02-02 12:05:06
这是你要检查的..。
第一步
确保您的设置是正确的。做..。
:verbose set modeline? modelines?如果你看到这些值中的任何一个都返回了,那就是。
nomodeline
modelines=0(通过在set命令之前添加verbose,您将被告知是哪个文件生成了该设置。谢谢你,drew010)
您需要看到的是这样(其中4是大于0的任何值)
modeline
Last set from /usr/share/vim/vimrc
modelines=4
Last set from ~/.vim/vimrc注释中的注意事项:如果您有nomodeline或modelines=0,则需要添加set和前一个代码块中的相应设置。(谢谢你@pilat)
第二步
在文档的最后几行中,是否有一行vim: 没有接触任何其他?
说真的,这就够了。
这些模型都是有效的。
# vim: cursorline
// vim: cursorline
; vim: cursorline
vim: cursorline
# anything here vim: cursorline
even without a valid comment vim: cursorline
literally anything as long a space separates> vim: cursorline
# vim: set cursorline: <-that colon is required if you use the word "set" and this comment after the colon does not affect it.请注意,在模型之后使用注释的唯一方法是使用单词set。但是如果你使用set,你的必须在你的设置的末尾处加一个冒号,即使你没有注释。谢谢你,Amadan
第三步
这是一个很重要的问题!你是否正在使用单词set**?** (在options doc中被描述为"second form“)去掉set或者在末尾加一个冒号。
这些都不管用。
# vim: set cursorline
^^^ issue: use of the word set without a trailing colon (:)
# vim:cursorline
^ issue: no space after the colon
#vim: cursorline
^ issue: no space before the word vim第四步
你醒着超过18个小时了吗?在你失去理智之前,先睡一觉吧。明天它还是会坏的。当你再看一遍这个列表时,你更有可能会注意到这个问题。
更新笔记
此答案用于包括以下声明:
你用的是set这个词吗?(被描述为options doc中的“第二种形式”)嗯,这在版本8中不起作用,我不知道它什么时候停止起作用的。使用“第一种形式”。
我错了。@Amadan指出了这一点,我已经更正了步骤3。
发布于 2013-08-11 08:50:14
我有一个类似的问题,我的modeline不工作。这个帖子中的答案帮助我找到了答案(将set modeline添加到我的~/.vimrc中)
https://superuser.com/questions/323712/modeline-not-work-in-vim
还有一件帮助我调试的事情就是输入:在vim中设置。这将告诉您当前设置的不同值。
https://stackoverflow.com/questions/4590191
复制相似问题