1

Vim действительно распознает тип файла в соответствии с именем файла и модельной линией.

Однако это не может иметь дело с этим случаем: у меня есть файл без специального специального суффикса, скажем, somefile , который является мягкой ссылкой на исходный файл c++, somefile.cpp . Кажется, что Vim только ищет название somefile и думает, что это обычный текстовый файл.

Так можно ли заставить Vim более разумно оценивать тип файла (например, выбрать тип файла для имени файла, содержащего суффикс) или предложить пользователю выбрать, если он не может судить в более сложном случае?

1 ответ1

2

Быстрая починка

Если вы открываете файл для первого типа, введите

:set syn = c

или другой тип файла вместо c чтобы изменить подсветку синтаксиса.

Если это файл, который вы часто редактируете, вы можете добавить моделину в начало вашего файла.

/* vim: синтаксис = c filetype = c */

Любой тип комментария должен работать для других типов файлов, например

# vim:syntax = python filetype = python

Постоянное решение

Добавьте эту строку в ваш файл .vimrc :

au BufNewFile, BufReadPre * if & syntax == '' | молчать! execute (':set filetype ='. matchstr (resol (@%), '. [^.] * $ ') [1:]) | ENDIF

Теперь каждый раз, когда вы открываете файл без расширения, он будет пытаться определить, является ли это символическая ссылка, и получить целевой файл. Если это на самом деле символическая ссылка, он установит синтаксис для типа файла целевого файла. В противном случае это ничего не делает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .