1

Для удобства я сопоставил "неопределяющий" с SHIFT+TAB в моем .vimrc:

nnoremap <S-Tab> <<
inoremap <S-Tab> <C-D>

Это прекрасно работает, если я сам использую его во время редактирования, и поэтому я хотел использовать это сопоставление и для autocmd :

autocmd FileType html inoremap ;p <p><Enter><Tab>INDENTED<Enter><S-Tab></p>

Это не будет работать, хотя. Теперь я использую <C-D> напрямую:

autocmd FileType html inoremap ;p <p><Enter><Tab>INDENTED<Enter><C-D></p>

который отлично работает и даже короче, так что нет проблем.


Таким образом, это скорее вопрос из любопытства, почему autocmd не может использовать мое отображение, хотя оно находится в правильном режиме.

1 ответ1

2

В этом случае autocmd не имеет отношения к проблеме.

Вы используете вариант "nore" команд отображения, который явно указывает Vim не запускать другие отображения при запуске первого отображения. Удалите часть "nore" вашей команды map, и она сделает то, что вы ожидали:

imap ;p <p><Enter><Tab>INDENTED<Enter><S-Tab></p>

:help nore

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