Конфлікт VIM Ctrl-V з вставкою Windows


110

Я використовую VIM у Windows. Проблема в тому, що я хочу використовувати CtrlVяк візуальний режим. Однак цей ключ конфліктує з пастою Windows. Як я можу скинути цю клавішу назад у візуальний режим VIM замість вставки. Я вважаю за краще встановити це у своєму файлі конфігурації _vimrc.

Відповіді:


145

З документації VIM :

Оскільки CTRLVвикористовується для вставки, ви не можете використовувати її для запуску візуального вибору блочно. Ви можете використовувати CTRLQзамість цього. Ви також можете використовувати CTRLQв режимі "Вставка" та "Командний рядок", щоб отримати старе значення CTRLV. Але CTRLQ не працює для терміналів, коли він використовується для управління потоком.


2
Мені це подобається краще, ніж поспілкуватися з _vimrc. Це працює негайно, і оскільки я навряд чи буду в майбутньому на послідовних терміналах, управління потоком Ctrl-S / Ctrl-Q не є проблемою.
Майкл Діллон

У Linux (терміналі Gnome) я вважав, що краще використовувати CTRL-K CR , але я знайшов цю відповідь спочатку.
jalanb

3
Мені чомусь потрібно було використовувати Shiftключ для візуального вибору в Windows, поки я не в Linux.
stevesliva

1
Дякую користувачу132014! Я вважаю, що вам потрібно використовувати h, j, k і l для навігації у режимі візуального блоку за допомогою Ctrl-Q. Це стосується редактора gVim для Windows. Стрілки, здається, не працюють для мене в gVim для Windows під час навігації у режимі візуального блоку за допомогою Ctrl-Q.
Ratnesh Chandna

3
@RatneshChandna - використовувати Shiftразом зі стрілками? Я бачу таку саму поведінку, але якось виявив, що Shiftспрацювало. Я не знав, що ч / д / к / л працював.
stevesliva

40

Перевірте файл _vimrc і перевірте, чи він джерелом mswin.vim. Цей скрипт відображає ^ v на пасту. Ви можете або видалити цей рядок у файлі _vimrc або відключити команди відображення безпосередньо на mswin.vim.

Зробіть: допоможіть поводитися на vim для отримання додаткової інформації.


24

Візуальний режим (та інші речі), що працюють як у Unix, вимагає як пропозицій JOP, так і програміста Windows.

У GVim для Windows перейдіть до меню редагування, натисніть на налаштування запуску та прокоментуйте сміття, яке стосується Windows (використовуючи символ коментаря vimrc, який є подвійною цитатою). Mswin.vim файл де ctrl- vзадається перевизначення, і поводяться mswin варіант робить це так , що клавіші зі стрілками , не просто застосувати рух , як і слід було очікувати (він також змінює поведінку вибору миші).

"source $VIMRUNTIME/mswin.vim
"behave mswin

Мені також подобається додати схему кольорових кольорів на чорному тлі, тому вона більше схожа на те, що я бачу в терміналі (і тому, що світлий фон чудовий на папері, але жахливий на екрані з підсвічуванням): colorscheme koehler



14

Я вважаю за краще однакові натискання клавіш скрізь, тому я використовую це у своєму .vimrc, щоб перекрити mswin.vim:

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

7

Я не впевнений, що ви можете багато з цим зробити. Ви можете використовувати CtrlQзамість цього.


4

Поєднання порад jop (шукати mswin.vim у файлі _vimrc за замовчуванням) та поради «програміста Windows» (позбавлення від рядка «поводитись mswin») спрацювало як принада для мене.

(моя репліка занадто низька, щоб їх проголосувати або об'єднати - хтось очистить це для мене, або я повернуся, як тільки моя репліка буде вище)


3
Іншими словами, ви намагалися залишити коментар?
Крістофер Ботс

1
Хе, я нечастий користувач stackoverflow (звідси моя низька репутація)
Rick Reynolds
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.