Отказ от ответственности: я совершенно не осведомлен о том, как клавиатуры Apple с cmd, а не ctrl взаимодействуют с vim, поэтому вам может потребоваться изменить или настроить некоторые из них.
Правильный способ вставки в vim - использовать команду p
. Чтобы вставить из системного буфера обмена, вы должны использовать "*p
. Таким образом, стандартным способом действий было бы выйти из режима вставки и "*pa
(a
, конечно, снова входит в режим вставки).
Если вы хотите использовать сочетание клавиш в режиме вставки, было бы естественно сделать что-то вроде:
inoremap <c-v> <esc>"*pa
(То есть: на самом деле наберите то, что есть, вместо нажатия Ctrl + V и выхода).
На первый взгляд может показаться, что это должно обеспечить желаемое поведение - это просто автоматизация стандартного процесса вставки, который я описал выше. Но это не так. Vim рассматривает все части команды как часть одного и того же блока отмены, и сам режим вставки vim является своего рода командой.
Однако вы можете вручную запустить новый блок отмены, находясь в режиме вставки, используя ctrl+g, за которым следует u
(да, я знаю, эта комбинация клавиш кажется довольно не похожей на vim, но все готово). Таким образом, вы можете изменить переназначение ключей следующим образом:
inoremap <c-v> <c-g>u<esc>"*pa
Все это будет работать с Ctrl + V (я только что проверил это на Windows, и оно работает там, по крайней мере), вам может потребоваться использовать что-то другое (кроме <c-v>
) для ярлыков на основе cmd в vim. Если вы используете клавиатуру Apple, это подразумевает OSX - если cmd + v является системным ярлыком, я не уверен, что будет иметь приоритет. Некоторые поверхностные поиски в Google предполагают, что вам, возможно, придется поиграться с некоторой конфигурацией на уровне ОС, чтобы заставить cmd правильно работать с vim.