Usando SHIFT + Setas para selecionar texto no vim/MacVim
-
22-09-2019 - |
Pergunta
Um dos recursos mais interessantes do MacVim é que é possível usar os comandos usuais do sistema operacional para copiar e colar texto (ou seja, comando+C e comando+V) nele.
Isso é especialmente bom em situações em que você trabalhou em outro editor apenas um minuto antes e seu cérebro ainda não está pronto para aconselhar seus dedos sobre como digitar a coisa real.
No entanto, há uma coisa em que meu cérebro precisa pensar bastante:É o modo de seleção de texto.Em editores não-vi, eu usaria Shift+Arrow para isso e tentar isso no MacVim não funciona.Mas, por outro lado, também não me parece que Shift+Arrow esteja sendo usado para qualquer outra coisa.É possível remapear as chaves para tornar isso possível?
(Idealmente, o editor ainda estaria em modo de inserção após ter selecionado o texto;isso pouparia algumas teclas adicionais.)
Solução
Do manual:
Os editores de texto no Mac OS X permitem que o usuário mantenha a tecla Shift+Movement para estender a seleção.Além disso, pressionar uma tecla imprimível enquanto seleciona substitui a seleção atual por esse caractere.O MACVIM pode emular esse tipo de comportamento (fornecendo ligações de chaves e definindo 'keymodel' e 'selectMode' para valores não-defensores), embora não esteja ativado por padrão.Para tornar o Macvim mais parecido com o texto e menos como o VIM, adicione as seguintes linhas ao seu arquivo "~/.VIMRC" (não .GVIMRC):
if has("gui_macvim")
let macvim_hig_shift_movement = 1
endif
Outras dicas
Como uma nota para si mesmo e uma dica interessante para os outros:
Como a seleção SHIFT+Seta e a seleção do mouse agora iniciam automaticamente SELECT
modo, isso significa que aparentemente não é tão fácil fazer um VISUAL
seleção usando o mouse ou as teclas de seta.(Mesmo quando já está em VISUAL
modo uma seleção do mouse ainda será acionada SELECT
modo.) Portanto, sempre que alguém quiser aplicar comandos à seleção, o método a seguir ajuda.
- Selecione o texto usando o mouse ou SHIFT+Seta
- Desmarque pressionando
ESC
- Imprensa
gv
para selecionar novamente automaticamente a seleção anterior e acionarVISUAL
modo
Editar: O mesmo pode ser feito usando simplesmente CTRL + g.