2015-01-08 5 views
1

Я использую сокращенную форму для основных типов C/C++, и я хочу, чтобы Vim синтаксис выделял их. Я добавилКак добавить подсветку синтаксиса в .vimrc?

syn keyword cType u8 s8 u16 s16 u32 s32 u64 s64 f32 f64 byte

к моему .vimrc, но это не работает. Что я делаю не так?

UPDATE 1 В другом месте было предложено, что проблема заключается в том, что Vim загружает файлы синтаксиса для C или C++, он переопределяет мой пользовательский синтаксис в .vimrc. Это проблема?

UPDATE 2 ответ Duskwuff намекнул мне, чтобы посмотреть на runtimepath переменной Vim, который я заходящего в общий сетевой диск, S:\vim\_vim, но Vim все еще ищет after каталога в ~\vimfiles\after, что не существует! Я добавил S:\vim\_vim\after в переменную runtimepath и, похоже, исправил проблему с файлами синтаксиса, которые не загружаются.

ответ

5

Если вы хотите продлить поведение существующего синтаксиса ВЬЕТ файл (например, c.vim), создать файл $HOME/.vim/after/syntax/c.vim, и добавить дополнительную syn команды там. Он будет загружен после основного файла синтаксиса c.vim.

+0

Не работает. Элемент синтаксиса по-прежнему не применяется при загрузке файла .c или .cpp. (Я пробовал именовать файл c.vim и cpp.vim - не работал) –

+0

@DrTwox Что делает ': echo & ft' сказать, когда вы редактируете файл C? У вас есть синтаксис на вашем .vimrc? –

+0

@LaurenceGonsalves ': echo & ft' выдает' c' для .c файлов и 'cpp' для .cpp-файлов. Синтаксис включен и работает, просто не для моего пользовательского синтаксиса. –