установить цветовую схему для типа файла в vim - PullRequest
0 голосов
/ 02 мая 2018

В vim я пытаюсь использовать специальную цветовую схему для некоторых типов файлов, используя autocmd. Странно, но это не работает для всех типов файлов. Вот мой vimrc:

autocmd filetype troff :colorscheme troff
autocmd filetype tintin :colorscheme troff
autocmd BufNewFile,BufRead *.tt set ft=tintin
autocmd BufNewFile,BufRead *.tr set ft=troff

При открытии f.tr используется схема цветов "troff", но при открытии f.tt, когда тип файла правильно установлен на "tintin", используется схема цветов по умолчанию. Если я вручную установлю тип файла (sef ft = tintin), то будет загружен troff colorscheme. Не могли бы вы помочь мне понять, что может вызвать такое странное поведение?

1 Ответ

0 голосов
/ 02 мая 2018

Я не могу воспроизвести вашу проблему. Однако я бы предложил следующие автоматические команды:

autocmd BufNewFile,BufRead *.tt let g:tmpcolor=g:colors_name            
autocmd BufNewFile,BufRead *.tr let g:tmpcolor=g:colors_name            
autocmd BufEnter *.tt colorscheme troff | set ft=tintin                  
autocmd BufEnter *.tr colorscheme troff | set ft=troff                   
autocmd BufLeave *.tt exe 'colorscheme '.g:tmpcolor                     
autocmd BufLeave *.tr exe 'colorscheme '.g:tmpcolor

Это создаст переменную g:tmpcolor, которая хранит исходную цветовую схему. При редактировании файла типа .tt или .tr цветовая схема изменится на troff. Когда вы оставите эти файлы, цветовая схема изменится на g:tmpcolor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...