Есть ли способ назначить вставку на control+shift+v и оставить режим визуального блока на control+v в gvim?
Я довольно часто использую оба варианта.
решение1
Это не официальный ответ, но, похоже, в gvim нет способа отличить Ctrl+Shift+<буква> от Ctrl+<буква>.
Я протестировал это с помощью gvim 7.3.138 для Windows и gvim 7.3.189 для X на Linux. Я вошел в режим вставки, набрал Ctrl-V, чтобы буквально вставить следующую клавишу (см. ":help i_CTRL-V"), затем набрал Ctrl-V. Результат появился как ^V
. Я повторил эксперимент, набрав Ctrl-Shift-V в конце. Результат снова появился как ^V
.
Также имеется элемент списка дел (":help todo.txt"), который предполагает, что раздельная обработка двух случаев не реализована, но рассматривается.
8 Должны ли работать оба сопоставления <CA> и <CSA>?
решение2
<C-v>
уже делает то, что вы хотите.
Для другого это будет сложнее: Некоторые (большинство?) терминалов обрабатывают <CONTROL><SHIFT>
точно так же, как <CONTROL>
. Так <CONTROL><SHIFT>v
будетвероятноработать в GVim, но отображение будет бесполезно в обычном vim
.
Также, какую «вставку» вы хотите отобразить: p
или P
или "_dP
или другую?
решение3
В gvim 9.1 я могу сопоставить и <C-V>
& <C-S-V>
на Windows и Linux(v9.1.0139). Просто проверьте с помощью
nmap <C-V> :echo "C-V"<CR>
nmap <C-S-V> :echo "C-S-V"<CR>
Примечание:Если <C-S-V>
отображено, мне нужно переотобразить <C-V>
как noremap <C-V> <C-V>
, чтобы сохранить функцию выбора визуального блока <C-V>
.