Найдите, какой тип файла загружается в vim


224

Как только я загружу любой файл в vim, он попытается обнаружить файл и выделить его цветом, если это возможно.

Я хочу знать команду vim, которая скажет мне, какой ftplugin или плагин / тип файла имеет тип vim, чтобы выделить файл.


Разве vim не делает это автоматически?
2010 года

Если вы поместите vimscript в ~ / .vim / ftplugin /, он получит этот vimscript при загрузке файла с соответствующим типом файла. Так положил setlocal cursorlineв ~/.vim/ftplugin/python.vimи вы будете иметь текущую строку подсветки в питоне файлах. Смотрите :help ftpluginи:help after
idbrii

Ответы:


365

:set filetype?


39
Вы можете сохранить несколько нажатий клавиш и просто использовать:set ft?
Мэтью Рэнкин

35
:se ft?- Я выигрываю. ;)
sjas

39
:se ft? Я выиграл!
Фабио Сантос

SO требует минимальной длины комментария, поэтому может быть не очевидно, что самый короткий заканчивается после t. ? необязательно.
reergymerej

15

Вы можете также добавить в свой тип файла статус строки или заголовок окна , используя %yи %Yэлементы. Видеть

:help 'statusline'
:help 'titlestring'


2

Когда я захотел найти тип файла, это было потому, что у меня было расширение .ipy, модифицирующее скрипт ipython. Приведенные выше вопросы и ответы отлично показали, что расширение ipython не рассматривается как python (что очевидно). Таким образом, я хотел принудительно установить тип файла, и я нашел это на когда-либо полезном сайте vim. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Добавление ниже к вашим работам .vimrc

au BufRead,BufNewFile *.ipy set filetype=python

2

Поскольку вы задаете / ищете этот вопрос в первую очередь, я предполагаю, что вы делаете это, потому что ваш vim как-то не подсвечивает правильный синтаксис для вас автоматически, и вы пытаетесь выяснить, почему и как это исправить.

Команда :set filetype?в выбранном ответе в основном спрашивает у vim "эй, какой тип, по вашему мнению, является текущим файлом". И если vim не отображает правильный цвет / выделение, скорее всего, его ответом для вас является отображение этого filetype=в нижней части консоли, то есть vim не знает тип файла. Это только половина вашего квеста.

Логично, что следующим шагом будет vim: «просто выделите его, используя, например, синтаксис ps1». Вы можете сделать это, набрав :set filetype=ps1, теперь vim выделит текущий файл, используя стиль ps1 (при условии, что вы уже загрузили правильный файл синтаксиса powershell и поместили его в ваш ~ / .vim / синтаксис ).

С этого момента вы, возможно, захотите использовать авто-синтаксис-подсветку. Решение состоит в том, чтобы поместить соответствующий скрипт обнаружения в вашу папку ~ / .vim / ftdetect. Например, если вы хотите выделить все сценарии PowerShell .ps1, .psm1 и т. Д., Поместите этот файл в ~ / .vim / ftdetect.

Теперь это счастливый конец.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.