На самом деле решение состоит в том, что вам нужно сначала перейти в командный режим (например, Esc) и повторно войти в режим вставки, но он работает, только если я набираю вручную, но кажется, что "случайным образом" перестает работать, если я проверяю это в ~/.vimrc
. Гугл совсем не помогает.
Я трачу много времени, пытаясь исправить эту проблему, и просто выясняю причину в моем случае:
Не сопоставляйте ключ вставки с существующим ключом вставки терминала
например Ctrl + Shift + V вставит в мой терминал Konsole, но если я назначу этот ключ <C-S-v>
в ~/.vimrc
, «отменить только для одной вставки вместо нескольких вставок» не будет.
В моем случае я должен использовать <C-v>
вместо <C-S-v>
:
inoremap <C-v> <Esc>"+pi<Esc>i<Right><Right>
Ваш случай может отличаться, но суть та же: не назначайте один и тот же ключ вставки, конфликтующий с существующим ключом эмулятора терминала.
Я на 100% подтвердил этот вывод, установив ключ вставки в терминал на Ctrl + V, и теперь <C-v>
перестает работать, но <C-S-v>
работает.
Также обратите внимание, что vim слишком чувствителен и странен. Я понял, что мне нужно использовать i
, а затем 2 правые клавиши вручную, чтобы заставить его работать в правильном положении курсора, это означает, что я должен поставить i
и 2 правые клавиши в ~/.vimrc
. Ваш случай может отличаться, но суть такая же, убедитесь, что ключи + порядок в ~ / .vimrc на 100% совпадают с тем, что вы вводите вручную.
person
Fruit
schedule
21.01.2018