VIM Ctrl-V Конфликт с вставкой Windows

Я использую VIM в Windows. Проблема в том, что я хочу использовать Ctrl V как визуальный режим. Однако этот ключ конфликтует с пастой Windows. Как я могу reset вернуть этот ключ в визуальный режим VIM вместо вставки. Я предпочитаю установить это в конфигурационном файле _vimrc.

Ответ 1

Из документация VIM:

Так как CTRL V используется для вставки, вы не можете использовать его для запуска блочной визуализации выбор. Вместо этого вы можете использовать CTRL Q. Вы также можете использовать CTRL Q в Insert mode и Command-line, чтобы получить старое значение CTRL V. Но CTRL Qне работает для терминалов, когда он используется для потока управления.

Ответ 2

Проверьте файл _vimrc и проверьте, не является ли он источником mswin.vim. Это script отображает ^ v в пасту. Вы можете удалить эту строку в файле _vimrc или отключить команды сопоставления непосредственно на mswin.vim.

Сделайте a: help ведите себя на vim для получения дополнительной информации.

Ответ 3

Визуальный режим (и другие вещи), работающий как в Unix, требует предложений JOP и Windows Programmer.

В GVim в Windows перейдите в меню редактирования, щелкните по настройкам запуска и закомментируйте мусор с конкретным окном (используя символ комментария vimrc, который является двойной кавычкой). В файле mswin.vim указан параметр ctrl-v override, а параметр behave mswin делает это так, чтобы клавиши со стрелками не просто применяли движение, как вы ожидали (это также изменяет поведение выбора мыши).

"source $VIMRUNTIME/mswin.vim
"behave mswin

Мне нравится добавлять в него также цветовую схему черного цвета, так что это больше похоже на то, что я вижу в терминале (и потому, что светлый фон отлично работает на бумаге, но ужасно на экране с подсветкой): colorscheme koehler

Ответ 4

Если эта строка в вашем _vimrc беспокоит вас:

behave mswin

затем удалите эту строку.

Ответ 5

Я предпочитаю одинаковые нажатия клавиш везде, поэтому я использую это в своем .vimrc для переопределения mswin.vim:

if has('win32')
  " Avoid mswin.vim making Ctrl-v act as paste
  noremap <C-V> <C-V>
endif

Ответ 6

Я не уверен, что вы можете это сделать. Вместо этого вы можете использовать Ctrl Q.

Ответ 7

Сочетание jop-совета (поиск mswin.vim в файле _vimrc по умолчанию) и совета "Windows программиста" (избавление от строки "behave mswin" ) работало как прелесть для меня.

(мой представитель слишком низок, чтобы проголосовать за них или объединить их - кто-то очистит это для меня, или я вернусь, как только мой представитель будет выше)