2011-06-23 66 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在正確顯示它們的語法時沒有問題。