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 ответа
- поиск и загрузка
sh.vim
через Google или что-то еще, что вы предпочитаете. - переместить ш.вим в
$HOME/vimfiles/syntax/
директории, тогда, когда вы откроете скрипт оболочки, он вступит в силу.
Вы пытались включить плагин 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 не было проблем с правильным отображением их синтаксиса.