Подсветка синтаксиса в режиме ввода Bash vi - PullRequest
8 голосов
/ 19 августа 2011

Если я включаю режим ввода bash с помощью set -o vi, затем нажимаю Esc , затем v , я получаю окно vi, которое позволяет мне редактировать временный файл, который выполняется один раз Я ухожу. В этом окне я хотел бы насладиться подсветкой синтаксиса Vim для скриптов Bash. Недостаточно выполнить :syntax enable. Проблема может быть связана с тем фактом, что временный файл не имеет ни конца .sh, ни заголовка #!/bin/bash, который можно использовать для определения типа файла.

Ответы [ 2 ]

8 голосов
/ 23 ноября 2011

Я бы использовал более короткую формулировку:

au BufRead,BufNewFile bash-fc-* set filetype=sh

Я считаю, что этот тип autocmd является каноническим способом обработки назначений типов файлов (по крайней мере, мой .vimrc имеет их несколько).

@ Эрик Фортис, пожалуйста, сообщите или поправьте меня, если есть причина, по которой вы сделали это по-другому.

7 голосов
/ 19 августа 2011

Добавьте это к вашему .vimrc

if expand('%:t') =~?'bash-fc-\d\+'
  setfiletype sh
endif

временные файлы имеют форму bash-fc-3537253897, поэтому регулярное выражение совпадает, если файл начинается с bash-fc- и применяет тип файла.

...