我在最后使用了一个带有以下模式的Python文件:
# vim: sts=4:ts=4:sw=4
Run Code Online (Sandbox Code Playgroud)
如果我使用此文件启动Vim,则忽略模式行.我怎样才能解决这个问题?顺便说一句,我已经入手nocompatible
了.vimrc
.
Bru*_*sky 36
确保您的设置正确.做...
:verbose set modeline? modelines?
Run Code Online (Sandbox Code Playgroud)
如果您看到返回了这些值中的任何一个,那么它将不起作用.
nomodeline
modelines=0
Run Code Online (Sandbox Code Playgroud)
你需要看到的是(其中5是任何大于0的东西)
modeline
Last set from /usr/share/vim/vimrc
modelines=4
Last set from ~/.vim/vimrc
Run Code Online (Sandbox Code Playgroud)
你有一行verbose
不会触及文档最后<modelines>行中的任何其他行吗?
说真的,这就是全部.
这些模型都有效......
# 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.
Run Code Online (Sandbox Code Playgroud)
这是一个重要的!你用的是这个词set
吗?(如选项文档中的"第二种形式"所述)取出nomodeline
或添加冒号到最后.
这些都不起作用......
# 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
Run Code Online (Sandbox Code Playgroud)
你已经醒了18个多小时了吗?在你失去理智之前,先睡个好觉.它明天还会被打破.当您再次浏览此列表时,您将更有可能注意到该问题.
这个答案过去包括这个说法:
你使用的是单词集吗?(如选项文档中的"第二种形式"所述)嗯,这在版本8中不起作用,我不知道它什么时候停止工作.使用"第一个表格".
我错了.@Amadan指出了这一点,我已经纠正了第3步.
我将问题跟踪到一个名为local_vimrc.vim的本地插件.模式行不起作用的事实是插件的副作用.
我的Modeline无法运作时,我也遇到类似的问题。该线程中的答案帮助我找到了答案(将set modeline添加到我的〜/ .vimrc中)
https://superuser.com/questions/323712/modeline-not-work-in-vim
帮我调试的另一件事是在vim中键入:set。这将告诉您当前设置的不同值。
如果您正在保存和加载视图,例如使用如下所示的视图,则当您重新打开文件时,您的模型行将不会被重新评估。
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview
Run Code Online (Sandbox Code Playgroud)