Como excluo a próxima linha no vim?

10

No emacs, sempre que quero excluir algumas linhas de texto, apenas uso Ck até todo o texto desaparecer. No entanto, no vim, parece um pouco mais complexo. Eu sei que posso fazer d$para excluir até o final da linha e ddexcluir toda a linha em que estou, mas como faço para excluir toda a próxima linha?

Jason Baker
fonte

Respostas:

5

Como isso:

:+1d
Ignacio Vazquez-Abrams
fonte
16

Suposição: você quer terminar na linha em que começou.

Minha resposta: jddk

  • j (move-se para baixo)
  • dd (exclui a linha atual)
  • k (sobe)

Experimente - é rápido! Na verdade, são duas teclas pressionadas menos que a resposta atualmente aceita porque:

  1. você não precisa segurar [Shift]para inserir os dois pontos ':' e mais os caracteres '+' e
  2. você não precisa do implícito [Enter]no final da sequência, pois jddké inserido tudo no modo visual, em oposição ao modo de comando .

Além disso, jddkestá tudo na linha inicial do teclado.

Passei muito tempo usando h, j, k, l para navegar vi, muito antes do software de emulação de terminal que eu usei começar a suportar teclas de seta. (Eu estou falando sobre ~ 20 anos atrás ;-)

Chris W. Rea
fonte
1
hjkl é mais rápido de qualquer maneira. Eu nunca usei um teclado que não tinha teclas de seta e comecei a valorizar bastante a eficácia dessas aparições de teclas cerca de 10 minutos depois que parei de me irritar com a falta de intuitividade delas.
Intuited
2

Você também pode estar interessado no modo visual. Basta usar vpara entrar e ypuxar ou dexcluir. Verificar :helpé um ótimo lugar quando você está preso também. Por exemplo :help delete, você fornecerá o manual para a maioria dos comandos de exclusão comuns.

Joe Bane
fonte
0

Se você deseja excluir várias linhas seguidas, pode ddexcluir a linha em que está e continuar pressionando (ou pressionando) .(ponto) para repetir o comando.

coneslayer
fonte
ou digite Ndd onde N é o número de linhas a serem excluídas. por exemplo, para excluir a linha atual e as próximas duas linhas (3 total), digite 3DD
quack quixote