我没有在 vim 中获得语法着色(使用 Cygwin)

我没有在 vim 中获得语法着色(使用 Cygwin)

到目前为止我一直无法弄清楚为什么 vim 的语法着色不起作用最多文件,这让我抓狂。

如果这是相关的:我正在 Cygwin(更具体/准确地说是 Windows 版 Git 附带的 bash shell)中工作,因为这是迄今为止我唯一能够偷偷进入这个 Windows 商店的东西。 (我有时会带上我的 MacBook Air,但它有点令人不悦。此外,与大多数 Windows 商店一样,他们对安装软件持偏执态度,因此完整的 Cygwin 安装需要合理性。另外,我不使用 gvim,因为我更喜欢在终端中使用 vim。)

如果我告诉 vim 文件是 C++,我就可以使用语法着色

:set syntax=cpp

或者如果它是一个 shell 脚本,但如果我使用 Ruby 或 PHP 则不会。

:syntax on我已确保和都打开了语法:syntax enable

我已经尝试安装 vim 语法文件,~/.vim/syntax/<syntax-type>.vim但这并没有产生任何影响。

我确保文件具有标准文件扩展名,因此如果使用 Vagrantfile,我尝试添加“.rb”,并且尝试避免使用 .vimrc 文件(以及尝试其他 .vimrc 文件):

vim -u /dev/null Vagrantfile.rb

我还确保 Ruby 文件具有正常的“shebang”行。

到目前为止还没有任何效果。

什么会阻止 vim 正确地为某些文件着色?

答案1

你必须将 vim 设置为非兼容模式,这样它的行为就不会像 vi 一样。您应该打开语法并打开文件类型检测和插件检测。这是您可以尝试的最小 .vimrc:

set nocp
syntax on
filetype plugin indent on 

这将使 vim 表现得更好一些并提供语法着色。但还有很多事情你可以改变。

你应该安装类似的东西病原或者文德尔,这样您就可以轻松安装新的语法文件和其他脚本。

答案2

基本安装 Cygwin 附带的默认编辑器是vi而不是vim。没有vi语法着色。要解决该问题,请vimEditorCygwin 类别安装。看这里更多细节。

相关内容