Estou aprendendo o gVIM no Windows e, à medida que lentamente aprendo mais as teclas digitadas, me pego usando o mouse cada vez menos, o que é ótimo.
Ainda tenho algumas perguntas a resolver:
- Eu copio e colo bastante. Então, eu uso 'v' para entrar no modo VISUAL, use k / j para mover para cima / baixo e selecione as linhas e pressione 'y' para puxar.
Então eu vou para a linha onde quero inserir e pressione 'p' para colocar, MAS a coisa danada cola após o primeiro caractere. Como não consigo me mover mais para a esquerda, estou definitivamente no início da linha, então acho o comportamento 'p'ut de colar 1 caracter após a posição do cursor ser extremamente irritante.
- Alterno bastante entre os modos de edição e comando, e meu dedo mindinho da mão esquerda está ficando dolorido ao ser esticado para pressionar a tecla 'Esc' (para entrar no modo de comando) a cada poucos segundos. Existe uma maneira mais fácil de digitar para entrar no modo de comando?
:
no modo normal.:
leva você ao modo de linha de comando . Veja:help command-mode
.Respostas:
O comando "put" coloca o texto do registro após o cursor, como você descobriu. Mas se você
:help put
, você verá oP
comando que coloca o texto antes do cursor:Isso também opera analogamente com linhas completas do registro;
p
colocará o texto em novas linhas após o cursor,P
colocará o texto em novas linhas que precedem o cursor.fonte
No tópico da pergunta 2 ... ou na verdade sua segunda pergunta 1;):
Você tem pelo menos duas opções aqui.
use CTRL-C em vez de ESC. Isso é conveniente e não requer nenhuma configuração. A desvantagem é que ele não funciona exatamente da mesma maneira que o ESC: por exemplo, se você acabou de criar uma abreviação e pressionar CTRL-C, a abreviação não será expandida; enquanto que se você tivesse ESC, teria. Eu acho que a maioria das coisas em que isso importa é mais avançada, por isso pode não importar muito por enquanto, mas você pode acabar ficando confuso mais tarde, ao tentar aprender coisas novas e se perguntar por que elas não funcionam para você.
use CTRL- [em vez de ESC. Não tenho certeza absoluta de que isso funcione no Windows, mas pelo menos no Linux usando o modo console do vim, é um substituto exato do ESC. É meio inconveniente, porque você precisa usar as duas mãos para fazer isso. Acho que na maioria dos teclados, na verdade, acaba sendo mais fácil pressionar ESC do que combinar isso. Mas nunca tentei realmente ensinar meus dedos a bater rapidamente.
adicione um mapeamento no seu vimrc ou gvimrc para mapear outra coisa para o ESC. algumas pessoas usam uma sucessão rápida de
jk
. Eu nunca fiz isso, em parte porque eu preferiria evitar falhas desnecessárias ao tentar usar um sistema que não tem essa configuração. Mas se você quiser aprender como fazê-lo, deve ser prontamente googlable.remapear uma chave não usada para ESC através do seu sistema operacional. O exemplo arquetípico aqui é remapear CAPS LOCK para ESC. Está na linha de casa, é grande, é praticamente inútil, caso contrário: é um alvo fácil. Não sei ao certo como fazer isso no Windows ou se é possível. Além disso, se você realmente gosta de Caps Lock para Caps Locking, obviamente não é uma boa ideia, pois deixará de funcionar nessa capacidade. Uma vantagem dessa estratégia é que ela alivia a possibilidade de se perguntar por que o vim está entrando em ataques sempre que você acidentalmente bate no caps lock. A desvantagem, como nos mapeamentos do vimrc, é que você pode ficar bastante confuso ao tentar usar o (g) vim em outro sistema.
fonte
Pessoalmente, ative os números de linha executando o comando: set nu
Então eu olho para os números e calculo o número de linhas que quero colar ... (digamos 5 linhas, por exemplo) ... então movo o cursor para a linha superior que quero copiar e digite 5Y .... isso copiará as próximas 5 linhas .... depois mova o cursor para a posição em que deseja colar o texto e digite p para colar abaixo do cursor ou P para colar acima do cursor.
Espero que isto ajude.
fonte