Вы могли бы сделать что-то вроде au BufEnter * if &ft ==# 'xml' | commands | endif
Может ли автокоманда Vim запускаться по типу файла, а не по шаблону?
Я знаю, как настроить функции :autocmd
для конкретных расширений файлов:
Например. ~ / .vim / ftplugin / xml.vim
augroup xml au BufEnter *.xml call Setup_XML_Menu() au BufLeave *.xml call Destroy_XML_Menu() augroup END
Не берите в голову то, что Setup_XML_Menu()
делает - дело в том, что я устанавливаю и сбрасываю конфигурацию, когда я вхожу или покидаю буфер XML.
Но есть ли способ применить автокоманду для определенного типа файла ?
Если я введу буфер с именем * .xml, BufEnter autocmd включится, как я и ожидал.
Но я бы хотел, чтобы это произошло, когда я вхожу в любой буферfiletype=xml
Поэтому, если я введу буфер с именем server.wsdl (предположим, я уже организовал, чтобы тип файла этого буфера был xml ), я бы хотел, чтобы там также применялся autocmd XML без настройки автокоманд для каждого мыслимого расширения файла XML.
Я надеялся, что смогу получить что-то вроде:
au BufEnter xml call ...
или же
au BufEnter filetype xml call ...
Но они не работают (первый пример относится только к буферу с именем «xml»).
Другая возможность, которую я рассмотрел: au FileType xml ...
применяется только тогда, когда я явно изменяю тип файла буфера - я хочу, чтобы настройки применялись и удалялись, когда я вхожу в определенные окна буфера и из них.
Я слишком много спрашиваю?
1 ответ на вопрос
Похожие вопросы
-
13
Какие функции Vim вы используете?
-
8
Удалить расширенную "вкладку" в Vim одним нажатием клавиши?
-
1
Невозможно понять, где зачем требовать обнаружения ASCII и HEX в строке состояния Vim
-
-
3
Vim: Как обрабатывать файлы Unicode с текстом на нескольких (более двух) языках?
-
1
Каков наилучший способ поделиться макросом Excel на нескольких машинах?
-
2
Конвертировать макрос Excel 4.0 в VBA
-
9
Аддоны Firefox, чтобы пойти с Vimperator
-
3
Чтобы повторить PWD в Vim's: -режим к документу
-
1
В любом случае vim не считает специальные символы словами?
-
8
Vimperator копия / вставка