¿Cómo me muevo al final de línea en Vim?
Sé cómo moverme generalmente en modo de comando, específicamente, saltando a las líneas, etc. Pero, ¿cuál es el comando para saltar al final de la línea en la que estoy actualmente?
14 answers
Solo el $ (signo de dólar) clave. Puede usar A para pasar al final de la línea y cambiar al modo de edición (Anexar).
El opuesto de A es I (modo de inserción al principio de la línea), como un aparte.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-24 16:25:30
Como mucha gente ha dicho:
- $ te lleva al final de la línea
Pero también:
- ^ o _ te lleva al primer carácter sin espacios en blanco de la línea, y
- 0 (cero) te lleva al principio de la línea incl. espacio en blanco
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-08 20:12:21
- $ se mueve al último personaje de la línea.
g _ va al último carácter sin espacios en blanco.
-
g $ va al final de la línea de pantalla (cuando una línea de búfer se envuelve a través de varias líneas de pantalla)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-21 10:55:57
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
Inversamente-inicio de línea (técnicamente el primer carácter que no es un espacio en blanco)
^ va al inicio de la línea, permanece en modo de comando
I (i mayúscula) va al inicio de la línea, cambia al modo de inserción
Más-inicio de la línea (técnicamente el primera columna independientemente del espacio en blanco )
0 (cero) va al comienzo de la 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 listando los comandos vi lado a lado al típico movimiento del cursor del editor GUI de Windows y las teclas de acceso directo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-24 05:01:52
Si su línea actual se envuelve alrededor de la pantalla visible en la siguiente línea, puede usar g { para llegar al final de la línea screen .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-19 22:49:56
El signo del dólar: {
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-19 21:20:26
La ventaja de la tecla 'End' es que funciona tanto en el modo normal como en el modo insert.
' works' solo funciona en modo normal/comando, pero también funciona en el editor vi clásico (es bueno saber cuando vim no está disponible).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-19 22:05:58
En muchos casos, cuando estamos dentro de una cadena estamos encerrados por una comilla doble, o mientras escribimos una declaración no queremos presionar escape e ir al final de esa línea con la tecla de flecha y presionar el punto y coma(;
) solo para terminar la línea. Escribe la siguiente línea dentro de tu 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), $ (end of line), a (append) at una vez.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-05 14:29:11
También tenga en cuenta la distinción entre línea (o quizás línea física) y línea de pantalla. Una línea termina con el carácter Final de línea ("\n"). Una línea de pantalla es lo que sucede que se muestra 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 cosas así.
La distinción se muestra en los comandos de fin de línea como bien.
- $ y 0 mover al final o al principio de la línea física o párrafo, respectivamente:
- g$ y g0 ir al final o al principio de la pantalla de la línea o párrafo, respectivamente.
Si siempre prefiere este último comportamiento, puede reasignar las claves de esta manera:
:noremap 0 g0
:noremap $ g$
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-23 06:58:24
Presione A para entrar en modo de edición comenzando al final de la línea.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-04 12:38:01
O está la respuesta obvia: use la tecla End para ir al final de la línea.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-04 12:52:56
Posiblemente sin relación, pero si desea iniciar una nueva línea después de la línea actual, puede usar o en cualquier lugar de la línea.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-01 18:47:03
La opción más fácil sería introducir $. Si está trabajando con bloques de texto, puede apreciar el comando { y } para mover un párrafo hacia atrás y hacia adelante, respectivamente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-23 06:56:32
Estaba acostumbrado a Home/End llevándome al inicio y al final de las líneas en modo de inserción (de uso en Windows y creo que Linux), que Mac no admite. Esto es particularmente molesto porque cuando estoy usando vim en un sistema remoto, tampoco puedo hacerlo fácilmente. Después de un doloroso ensayo y error, se me ocurrieron estas .vimrc
líneas que hacen lo mismo, pero vinculadas 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 I no pude encontrar una manera de atarlo.) Disfrutar.
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
Aquí hay un buen gráfico para los códigos de caracteres de control ASCII aquí para otros también:
Http://www.physics.udel.edu / ~watson/scen103/ascii.html
También puedes hacer Ctrl-V + Ctrl -, pero eso no pega tan bien en lugares como este.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-02 22:00:03