2011-06-23 29 views
6

我使用msysgit附带的bash和vim。我已将.vimrc文件添加到我的主文件夹,并且大部分命令正在执行。但是syntax on不是。Vim不突出显示bash脚本的语法(msysgit版本)

这是我~/.vimrc文件的内容:

set cul 
hi CursorLine cterm=none ctermbg=darkgray ctermfg=white 
syntax on 

当前行和高亮现在的工作,但syntax on失败。 Msysgit安装它自己的vim,并在C:\Program Files (x86)\Git\share\vim\vim73\syntax文件夹中,它不包含bash.vim或sh.vim文件。其他文件就像conf.vim,gitcommit.vim和gitrebase.vim - 甚至是c.vim。

我猜这就是为什么没有突出显示。鉴于我无法触及该文件夹(不要问),我该如何更改我的.vimrc文件来加载bash.vim文件 - 以及获取它的好地方?

任何帮助表示赞赏。

+0

确实“:设置syn = sh”打开突出显示? –

+0

no go with:set syn = sh –

+0

好的,你能看到ANY语法高亮吗?在一个C文件(因为它似乎有c.vim)?有或没有强制“:set syn = c”“:syn on” –

回答

6
  1. 搜索下载sh.vim通过谷歌或其他任何你喜欢的。
  2. 将sh.vim移动到$HOME/vimfiles/syntax/目录,然后当您打开一个shell脚本时,它就会生效。

http://vimdoc.sourceforge.net/htmldoc/usr_44.html#44.11

+0

为了记录它是'$ HOME/vimfiles/syntax /',并且语法文件可以在这里找到[http://www.vim.org/vimscriptlinks.php]或直接[sh.vim](http:/ /drchip.0sites.net/astronaut/vim/syntax/sh.vim.gz)。 –

+0

是的,你说得对。纠正。感谢您指出。 – quabug

2

您是否尝试过启用文件类型插件?

:filetype plugin on 

然后,如果你的脚本语法仍不能正常着色,尽量手动控制装置:

:set ft=sh 
1

我不熟悉的msysgit,但要回答你的最后一个问题:

我怎样才能改变我的.vimrc文件中加载了一个bash.vim文件

你应该能够补充:

if filereadable(expand("$HOME/some/path/bash.vim")) 
    execute "source " . "$HOME/some/path/bash.vim" 
endif 

如果你有一个安装可达副本,不希望维护自己的副本,这可能是有用的。

0

在我的情况下删除〜/ .vim/view中的所有内容都有帮助。我在autocmd下有mkview,所以当我没有正确关闭vim和bash时,我认为有些文件被破坏了。我发现这个问题的方法是移动那些在另一个目录中给我带来麻烦的文件,并发现vim在正确显示它们的语法时没有问题。