Как заставить IMAP работать в режиме вставки в Vim?
Недавно я начал использовать imap jj и пытаюсь отменить Ctrl + [.
Однако imap не работает, когда включен режим вставки. Как заставить его работать в режиме вставки?
Ответы
Ответ 1
Вы просто не можете иметь сопоставления, если включена опция "вставить", поскольку это все указывает на режим пасты Vim.
Режим паттерна Vim предназначен для того, чтобы вы могли вставлять материал даже в экземпляр консоли Vim в терминале &, где Vim может не знать, что вы используете мышь для вставки — и вы хотите вставить буквенную текстовую форму для вставки буфер без запуска сопоставлений, или отпечаток auto/smart/expression и т.д.
Я предлагаю вам взглянуть на:
: help 'paste'
: help 'pastetoggle'
Ответ 2
Добавьте следующий сниппет в ваш .vimrc, чтобы автоматически запускать режим вставки при вставке через терминал:
let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
function! XTermPasteBegin()
set pastetoggle=<Esc>[201~
set paste
return ""
endfunction
С:
https://coderwall.com/p/if9mda