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" ) работало как прелесть для меня.
(мой представитель слишком низок, чтобы проголосовать за них или объединить их - кто-то очистит это для меня, или я вернусь, как только мой представитель будет выше)