我有一个名为 bash 和 zsh 的文件.aliases
,我把这行
# vim: set filetype=bash:
但如果我
: echo &ft
我明白了conf
答案1
这应该可行。我自己试过这行,它可行。可能是您的“modeline”选项设置为“nomodeline”。尝试执行此操作,看看会得到什么。
:verbose set modeline?
它将告诉您“modeline”选项的值,如果不是默认值,则告诉您它最后设置的位置。
一些 Linux 发行版在 /etc/vimrc 或 /usr/share/vim/vimrc 中设置“nomodeline”作为安全措施,尽管“modeline”的安全问题早已得到修复。
答案2
我描述了一个另一个答案中的完整调试清单。
我真的被这个问题难住了,因为文档是不是完全真的。
事实证明,在版本 8(甚至更早)中,您无法set
在模式行中使用这个词。文档描述了“第二种形式”,/* vim: set ai tw=75: */
但这不起作用。您必须使用“第一种形式”// vim: ai tw=75
注意:您可以使用其中任何一种注释指示符。或者根本不使用。
答案3
set modelines=1
(或任何非 0 值)在我的 ~/.vimrc 中就可以正常工作。
答案4
~/.vimrc
在我的 Funtoo Linux 机器上,只需添加以下内容即可:
set modeline