Vim не выделяет синтаксис для скриптов bash (версия msysgit)

Я использую bash и vim, которые поставляются с msysgit. Я добавил .vimrc файл в мою домашнюю папку, и большинство команд там выполняются. Но syntax on не является.

Это содержимое моего ~/.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 - и что такое хорошее место для его получения?

Любая помощь приветствуется.

4 ответа

Решение
  1. поиск и загрузка sh.vim через Google или что-то еще, что вы предпочитаете.
  2. переместить ш.вим в $HOME/vimfiles/syntax/ директории, тогда, когда вы откроете скрипт оболочки, он вступит в силу.

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

Вы пытались включить плагин filetype?

:filetype plugin on

Затем, если синтаксис вашего скрипта по-прежнему не раскрашивается должным образом, попробуйте переопределить вручную:

:set ft=sh

Я не знаком с msysgit, но чтобы ответить на ваш последний вопрос:

Как я могу изменить мой файл.vimrc, чтобы загрузить файл bash.vim

Вы должны быть в состоянии добавить:

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

Это может быть полезно, если у вас есть доступная установленная копия и вы не хотите сохранять свою собственную копию.

В моем случае помогло удаление всего в ~/.vim/view. я имел mkview под autocmdПоэтому, когда я не выключил vim и bash должным образом, я думаю, что некоторые файлы были повреждены. Я обнаружил эту проблему, переместив файлы, которые доставляли мне проблемы, в другой каталог и обнаружил, что у vim не было проблем с правильным отображением их синтаксиса.

Другие вопросы по тегам