tutorial reemplazar pegar español cómo copiar con comandos comando borrar archivo vim editor keyboard-shortcuts vi

reemplazar - ¿Cómo me muevo al final de la línea en Vim?



vim tutorial (14)

Como mucha gente ha dicho:

  • $ te lleva al final de la línea

pero también:

  • ^ o _ te lleva al primer carácter que no sea un espacio en blanco en la línea, y
  • 0 (cero) le lleva al principio de la línea incl. espacio en blanco

Sé cómo moverme en general en el modo de comando, específicamente, saltar a líneas, etc. ¿Pero cuál es el comando para saltar al final de la línea en la que estoy actualmente?


El signo del dólar: $


En muchos casos, cuando estamos dentro de una cadena, estamos encerrados entre comillas dobles o, mientras escribimos una declaración, no queremos presionar escapar e ir al final de esa línea con la tecla de flecha y presionar el punto y coma ( ; ) solo para terminar la linea Escriba la siguiente línea dentro de su archivo vimrc :

imap <C-l> <Esc>$a

¿Qué dice la línea? Asigna Ctrl + l a una serie de comandos. Es equivalente a presionar Esc (modo de comando), $ (fin de línea), a (añadir) a la vez.


Estaba acostumbrado a Inicio / Fin, lo que me permitió iniciar y finalizar las líneas en el modo Insertar (de uso en Windows y creo que Linux), que Mac no admite. Esto es particularmente molesto porque cuando uso vim en un sistema remoto, tampoco puedo hacerlo fácilmente. Después de algunas pruebas y errores dolorosos, se me ocurrieron estas líneas .vimrc que hacen lo mismo, pero enlazadas a Ctrl-A para el inicio de la línea y Ctrl-D para el final de la línea. (Por alguna razón, Ctrl-E supongo que está reservado o al menos no pude encontrar una forma de enlazarlo). Disfrútalo.

:imap <Char-1> <Char-15>:normal 0<Char-13> :imap <Char-4> <Char-15>:normal $<Char-13>

Aquí hay una buena tabla para los códigos de caracteres de control ASCII para otros también:

http://www.physics.udel.edu/~watson/scen103/ascii.html

También puedes hacer Ctrl-V + Ctrl- también, pero eso no se pega también en lugares como este.


La opción más fácil sería ingresar $ . Si está trabajando con bloques de texto, puede apreciar el comando { y } para mover un párrafo hacia adelante y hacia atrás, respectivamente.


La pregunta principal - fin de línea

$ va al final de la línea, permanece en modo de comando

A va al final de la línea, cambia al modo de inserción

A la inversa, inicio de línea (técnicamente, el primer carácter que no sea espacios en blanco )

^ va al inicio de línea, permanece en modo de comando

I (mayúscula i) va al principio de la línea, cambia al modo de inserción

Además: inicio de línea (técnicamente la primera columna independientemente del espacio en blanco )

0 (cero) va al inicio de línea, permanece en modo de comando

0i (cero seguido de i minúscula) va al inicio de la línea, cambia al modo de inserción

Para aquellos que comienzan a aprender vi, aquí hay una buena introducción a vi al enumerar los comandos vi lado a lado a los movimientos de cursor y las teclas de acceso directo del típico editor de GUI de Windows.

vi editor para usuarios de Windows


La ventaja de la tecla ''Fin'' es que funciona tanto en modo normal como en modo de inserción.

''$'' solo funciona en modo normal / comando, pero también funciona en el editor vi clásico (es bueno saber cuándo no está disponible vim).


O hay una respuesta obvia: use la tecla Fin para ir al final de la línea.


Posiblemente no relacionado, pero si desea comenzar una nueva línea después de la línea actual, puede usar o en cualquier lugar de la línea.


Presione A para ingresar al modo de edición que comienza al final de la línea.


Sólo la tecla $ (signo de dólar) . Puede usar A para moverse al final de la línea y cambiar al modo de edición (Anexar).

El opuesto de A es I (modo Insertar al principio de la línea), como un aparte.


Si su línea actual se ajusta alrededor de la pantalla visible a la línea siguiente, puede usar g $ para llegar al final de la línea de la pantalla .


También tenga en cuenta la distinción entre la línea (o tal vez la línea física) y la línea de la pantalla . Una línea se termina con el carácter Fin de línea ("/ n"). Una línea de pantalla es lo que sea que aparezca como una fila de caracteres en su terminal o en su pantalla. Los dos se separan si tiene líneas físicas más largas que el ancho de la pantalla, lo cual es muy común al escribir correos electrónicos y demás.

La distinción se muestra también en los comandos de fin de línea.

  • $ y 0 se mueven al final o al principio de la línea física o párrafo, respectivamente:
  • g $ y g 0 se mueven al final o al principio de la línea o párrafo de la pantalla, respectivamente.

Si siempre prefieres este último comportamiento, puedes reasignar las claves de esta manera:

:noremap 0 g0 :noremap $ g$


  • $ se mueve al último carácter de la línea.
  • g _ va al último carácter que no sea un espacio en blanco.

  • g $ va al final de la línea de la pantalla (cuando una línea de búfer se enrolla en varias líneas de la pantalla)