Я только что обнаружил , что в последнее время , когда вы входите в неразрывный пробел (NBSP) в HTML - документе
и установите encoding utf-8, вам не нужно будет вводить nbsp; несколько раз для форматирования текста. Я сначала
подумал, эй, почему бы мне не отобразить это на пробел, как :imap <SPACE> <C-R>=nr2char(160)<CR> .
Позже я отредактировал свой .vimrc и когда я перезапустил Vim, я получил дюжину ошибок о том, что какая-то функция нуждается в
имя, хотя я дал его. Я понял, что nbsp не рассматривается как пробел (дух), хотя это
выглядит как один. Итак, я подумал, что лучшим способом было бы иметь сопоставление типов файлов, чтобы при редактировании html-документа пространство вставляло nbsp и обычный пробел chr(32) при редактировании любого другого файла.
Как мне это сделать?

2 ответа2

3

Вы можете использовать плагины файлового типа, которые получают только тогда, когда файл имеет определенный тип файла. Для этого создайте файл ~/.vim/ftplugin/html.vim и поместите ваши команды в этот файл. Если файл уже существует, вы можете создать каталог с именем html, и тогда каждый файл в каталоге будет получен. Посмотрите :h ftplugin-name для других опций именования. (Если каталоги не существуют, создайте их)

Все, что вам нужно иметь в вашем vimrc - это filetype plugin indent on (для этого отступ не нужен, но обычно полезен).

Также может быть важно сделать отображение локальным для буфера только с помощью

map <buffer>

Также может быть полезно просмотреть :h ftplugin и :h filetype

2

au[tocommand] Команда а.е. принимает событие FileType , который работает , когда filetype установлен (например , при запуске с именем файла). Например, в ~/.vimrc:

au Filetype python source ~/.vim/scripts/python.vim

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