gVIM "colocar" me deixando louco, como faço para "colocar" no início de uma linha


2

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:

  1. 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.

  1. 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?

11
Você realmente deve fazer sua segunda pergunta não relacionada como uma pergunta separada.
Bignose

11
O que você chama de "modo de comando" é na verdade chamado de "modo normal". O modo de comando é o que você obtém quando pressiona :no modo normal.
Frabjous

@frabjous Na verdade, "modo de comando" é um sinônimo (terrível) de modo normal. :leva você ao modo de linha de comando . Veja :help command-mode.
precisa saber é o seguinte

Respostas:


8

O comando "put" coloca o texto do registro após o cursor, como você descobriu. Mas se você :help put, você verá o Pcomando 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 completas do registro; pcolocará o texto em novas linhas após o cursor, Pcolocará o texto em novas linhas que precedem o cursor.


4

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.


-1

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.


má forma, calculando ... sheesh. cérebro humano regularmente lida com 7 a 10 conceitos simultaneamente, a consideração das teclas digitadas por um e então você deseja um cálculo ... envolvendo mais 3 números ?! de jeito nenhum.
Joshua K

bem, eu teria que discordar de você quanto a isso ... minha experiência é que, depois de usar o vim por um tempo, eu podia adivinhar o número de linhas apenas olhando para a tela. Mas se você não quiser fazer isso, poderá usar os comandos visuais.
Kiwiburger #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.