因此,在我的项目中,有许多 bash 脚本文件是源代码,但从未直接运行过,因此它们没有 shebang 行,也没有设置执行位。Vim 会给它们添加一些颜色,但不会使用全彩色。我该如何调整 vim 来为这些文件提供所有正常的 bash 颜色?
编辑:
没有shebang:
使用shebang:
编辑2:
下面有一个适用于逐个文件更改的答案,如果我能得到所有答案,我会选择它,但我真正想要的是修改 vim 安装中的配置文件或其他内容,以便即使没有 shebang,我也始终可以获得完整的“带 shebang”颜色。 某个地方必须有一个定义不完整着色的文件,我可以用定义完整着色的文件替换它。
编辑3:
vim 全局变量集并没有实质性的差异,如这些图所示(的输出:let g:
):
我有点不知所措。
编辑4:
我从一个颜色正确的窗口(左)和一个颜色不正确的窗口(右)转储了整个环境,并对它们进行了差异化,发现了这一点:
60 b:current_syntax bash | 61 b:current_syntax conf
因此,出于某种原因,它认为我的 shebangless 源文件是 conf 文件。所以我需要弄清楚如何将它们与 bash 匹配。
答案1
跑步:setf sh
您可能希望将其放在文件顶部(如果您不想要shebang):
# vim:ft=sh
答案2
放
let g:is_bash = 1
在您的 中.vimrc
。这会将未知 shell 脚本的默认文件类型设置为bash
。请参阅完整解释:help ft-bash 语法
对于那些对内部结构感到好奇的人,至少在我的 Vim 7.4 安装中,g:is_bash
在 中的自动命令中进行了测试$VIM/vim74/filetype.vim
,并进行了相应设置。然后测试b:is_bash
语法文件以决定如何突出显示文件。$VIM/vim74/syntax/sh.vim
b:is_bash