Existe uma maneira de mapear a colagem para control+shift+v e deixar o modo de bloco visual como control+v no gvim?
Eu uso os dois com bastante frequência.
Responder1
Esta não é uma resposta oficial, mas não parece haver nenhuma maneira de distinguir entre Ctrl+Shift+<letra> e Ctrl+<letra> no gvim.
Testei isso usando gvim 7.3.138 para Windows e gvim 7.3.189 para X no Linux. Entrei no modo de inserção, digitei Ctrl-V para inserir a próxima chave literalmente (consulte ":help i_CTRL-V") e digitei Ctrl-V. O resultado apareceu como ^V
. Repeti a experiência, digitando Ctrl-Shift-V no final. O resultado apareceu novamente como ^V
.
Há também um item de tarefas (":help todo.txt") que sugere que o tratamento dos dois casos separadamente não está implementado, mas está sendo considerado.
8 O mapeamento <CA> e <CSA> deve funcionar?
Responder2
<C-v>
já faz o que você quer.
Para o outro será mais complicado: alguns (a maioria?) Terminais tratam <CONTROL><SHIFT>
exatamente como <CONTROL>
. O mesmo <CONTROL><SHIFT>v
aconteceráprovavelmentefunciona no GVim, mas o mapeamento será inútil no normal vim
.
Além disso, qual "colar" você deseja mapear: p
ou P
ou "_dP
ou outra?
Responder3
No gvim 9.1, posso mapear <C-V>
& <C-S-V>
no Windows e no Linux (v9.1.0139). Basta verificar com
nmap <C-V> :echo "C-V"<CR>
nmap <C-S-V> :echo "C-S-V"<CR>
Observação:Se <C-S-V>
estiver mapeado, tenho que remapear <C-V>
para noremap <C-V> <C-V>
preservar a função de seleção de bloco visual de <C-V>
.