gVIM “colocar” me enlouquecendo, como faço para “colocar” no começo de uma linha

2

Estou aprendendo o gVIM no Windows e, à medida que eu aprendo lentamente as teclas, me vejo usando o mouse cada vez menos, o que é ótimo.

Eu tenho algumas perguntas que ainda tenho que descobrir:

  1. copio e colo bastante. Então eu uso 'v' para entrar no modo VISUAL, use k / j para mover para cima / para baixo e selecione as linhas, então aperte 'y' para puxar.

Eu então vou para a linha onde eu quero inserir, e clico em 'p' para colocar, MAS a coisa maldita cola depois do primeiro caractere. Eu não posso me mover mais para a esquerda, então estou definitivamente no começo da linha, então eu acho o comportamento 'p'ut de colar 1 caractere após a posição do meu cursor para ser extremamente irritante.

  1. Eu alterno muito entre o modo de edição e comando, e meu pobre dedo mindinho na minha mão esquerda está ficando dolorido de ser esticado para apertar a tecla 'Esc' (para entrar no modo de comando) a cada poucos segundos. Existe uma maneira mais amigável para entrar no modo de comando?
por ChrisGNZ 23.03.2010 / 02:39

3 respostas

8

O comando "colocar" coloca o texto de registro após o cursor, como você descobriu. Mas se você for:help put, verá o comando P , que coloca o texto antes do cursor:

                                                        *p* *put* *E353*
["x]p                   Put the text [from register x] after the cursor
                        [count] times.  {Vi: no count}

                                                        *P*
["x]P                   Put the text [from register x] before the cursor
                        [count] times.  {Vi: no count}

Isso também opera analogamente com linhas inteiras do registrador; p colocará o texto em novas linhas após o cursor, P colocará o texto nas novas linhas que precedem o cursor.

    
por 23.03.2010 / 02:45
4

Sobre o tema 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 ESC: por exemplo, se você acabou de criar uma abreviação e, em seguida, pressione CTRL-C, a abreviação não será expandida; Considerando que se você tivesse ESC, em vez disso, teria. Eu acho que a maioria das coisas em que isso importa é mais avançada, então pode não importar muito por agora, mas você pode acabar ficando confuso mais tarde ao tentar aprender coisas novas e se perguntando por que elas não funcionam para você. / p>

  • use CTRL- [em vez de ESC. Eu não estou totalmente certo de que isso funciona no Windows, mas pelo menos no Linux usando o modo de console vim é um substituto exato para o 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 acertar ESC do que combo isso. Mas então eu nunca tentei ensinar meus dedos a bater rapidamente.

  • adicione um mapeamento em 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 prefiro evitar agitar-se impotente 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 o ESC através do seu sistema operacional. O exemplo arquetípico aqui é remapear o CAPS LOCK para o ESC. É na fila de casa, é grande, é inútil, caso contrário: é um alvo fácil. Não sei como fazer isso no Windows ou se é possível. Além disso, se você realmente gosta do Caps Lock para Caps Lock, obviamente não é uma boa idéia, pois ele deixará de funcionar nessa capacidade. Uma vantagem dessa estratégia é que ela alivia a possibilidade de se perguntar por que o vírus entra em ataques sempre que você acidentalmente acerta o caps lock. A desvantagem, assim como nos mapeamentos do vimrc, é que você pode ficar bastante confuso ao tentar usar o (g) vim em outro sistema.

por 25.03.2010 / 01:05
-1

Pessoalmente, ligo os números de linha, fazendo o comando: set nu

Então eu olho para os números e calculo o número de linhas que eu quero colar ... (digamos 5 linhas, por exemplo) ... então eu movo o cursor para a linha superior que eu quero copiar e digito 5Y. ... isto irá copiar as próximas 5 linhas ... então mova o cursor para a posição que você quer colar o texto e digite p para colar abaixo do cursor ou P para colar acima do cursor.

Espero que isso ajude.

    
por 24.03.2010 / 23:38