Знайдіть, який тип файлу завантажений у vim


224

Як тільки я завантажую будь-який файл у vim, він спробує виявити файл та виділити його кольором, якщо це можливо.

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


Хіба vim не робить це автоматично?
ereOn

Якщо ви помістите 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? Я виграв!
Фабіо Сантос

Так потрібна мінімальна довжина коментарів, тому може бути не очевидно, що найкоротші закінчуються після t. ? необов’язково.
reergymerej

15

Ви також можете додати тип файлу до рядка статусу чи вікна за допомогою елементів %yта %Y. Побачити

:help 'statusline'
:help 'titlestring'


2

Коли я хотів знайти тип файлу, це було тому, що у мене було розширення .ipy, що змінювало сценарій ipython. Наведені вище запитання працювали чудово, щоб побачити, що розширення ipython не трактується як python (дещо очевидно). Таким чином, я хотів змусити встановити тип файлу, і я виявив це з вічного сайту helfpul 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 (за умови, що ви вже завантажуєте належний синтаксичний файл силового коду і вкладаєте його у ваш ~ / .vim / синтаксис ).

На цьому етапі ви, мабуть, відтепер хочете виділити автоматичний синтаксис. Рішення полягає в тому, щоб помістити відповідний скрипт виявлення у вашу папку ~ / .vim / ftdetect. Наприклад, якщо ви хочете виділити всі сценарії PowerShell .ps1, .psm1 і т.д., ви помістите цей файл у свій ~ / .vim / ftdetect

Тепер це щасливий кінець.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.