Я хочу запустить команду в .vimrc, если файл является латексным файлом. Я думаю, что у меня есть что-то с синтаксисом, это не работает. Любая подсказка?
if &filetype=='tex'
set spell
endif
Ответ 1
Вы можете использовать автоматические команды для достижения желаемого результата:
autocmd BufNewFile,BufRead *.tex set spell
Ответ 2
Для тех, кто хочет проверить текущий тип файла и что-то сделать во время редактирования, это должно работать:
if (&ft=='c' || &ft=='cpp')
:!g++ %
endif
Ответ 3
Другой способ - использовать index():
let fts = ['c', 'cpp']
if index(fts, &filetype) == -1
" do stuff
endif
index() выполняет поиск первого индекса элемента в строке и возвращает -1, если не найден. Таким образом, вы можете просто добавить больше значений filetype в свой список и не добавлять больше условий для каждого типа файла.