Моя установка GVIM 7.3.46 на Windows XP Professional SP3 32bit не выполняет подсветку синтаксиса, если существует файл _vimrc
, по крайней мере, PHP и C. Даже явно упомянув, set syntax=php
я не получаю подсветку, независимо от того, заканчивается ли расширение имени файла на .php
.
Даже если есть пустой файл размером 0 байт, C:\Documents and Settings\myUsername\_vimrc
то файлы не будут подсвечиваться синтаксисом. Я могу переименовать этот файл размером 0 байт в _vimrcBLAH
и подсветка синтаксиса снова заработает.
Что может быть причиной этого и как это исправить?
решение1
Программа gvim сама по себе не имеет подсветки синтаксиса, включенной по умолчанию. Подсветка синтаксиса включается только путем явного включения ее с помощью команды, например :syntax on
. Поэтому единственный способ включить синтаксис — включить его самостоятельно в командной строке Vim или иметь такую команду в файле конфигурации, который считывается при запуске.
Vim обычно устанавливается в Windows со стандартным набором команд конфигурации в C:\Program Files\Vim\_vimrc
. Этот стандартный набор включает syntax on
. Без каких-либо других файлов конфигурации gvim прочитает этот файл при запуске, и у вас будет подсветка синтаксиса.
В :help _vimrc
нем говорится: "Ищете инициализации в четырех местах. Используется первое существующее, остальные игнорируются". Список пользовательских файлов vimrc включает в себя , $HOME/_vimrc
за которым следует $VIM/_vimrc
. В вашей системе $VIM — это C:\Program Files\Vim
.
Итак, когда вы используете C:\Documents and Settings\myUsername\_vimrc
файл, gvim читает этот файл и пропускает C:\Program Files\Vim\_vimrc
. Если ваш _vimrc не содержит , syntax on
вы не получите подсветку синтаксиса.
Если вы собираетесь использовать свой собственный _vimrc, то обязательно скопируйте в него C:\Program Files\Vim\_vimrc
все необходимые вам команды конфигурации, включая syntax on
.
решение2
Поскольку $HOME/_vimrc будет выбран первым, если он существует, и я не хочу менять стандартный файл конфигурации, я просто добавляю эту строку в свой $HOME/_vimrc. Таким образом, я делаю настройки в $HOME/_vimrc и беру все остальные настройки из установок. И это работает даже после любой переустановки или обновления.
source $VIMRUNTIME/../_vimrc