Sé cómo moverme generalmente en modo 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?
vim
editor
keyboard-shortcuts
vi
corredor de sal
fuente
fuente
vimtutor
es genial. ¿Probablemente no lo sabían?Respuestas:
Solo la tecla $ (signo de dólar) . Puede usar Apara moverse al final de la línea y cambiar al modo de edición (Agregar). Para saltar el último carácter no en blanco, puede presionar ga continuación _las teclas.
Lo contrario de Aes I(Modo de inserción al comienzo de la línea), como un lado. Presionando solo ^colocará el cursor en el primer carácter de la línea que no sea un espacio en blanco.
fuente
g_
g_
variación, ya que no incluye caracteres en blancoComo mucha gente ha dicho:
pero también:
fuente
|
comando de tubería puede contar, por ejemplo, 3 | para saltar a la tercera columna.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 ajusta a varias líneas de pantalla)
fuente
b
va al comienzo de la palabra anterior, que no es lo mismo en absoluto. Es más o menos equivalente a$ge
._
yg_
para visual / yanking, ya$
que también copiará / eliminará el carácter de nueva línea (LN).g_
es la única forma que encontré para llegar al final real de la línea.$
va al final de la línea incluso cuando está envuelto para mí. No conozco ninguna configuración para ajustar su comportamiento. Tal vez ha sido reasignado por su .vimrc ag$
?La pregunta principal: fin de línea
$ va al final de la línea, permanece en modo comando
A va al final de la línea, cambia al modo de inserción
Por el contrario, 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 comando
I (mayúscula i) va al inicio 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 la línea, permanece en modo comando
0i (cero seguido de minúscula i) 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 con el movimiento típico del cursor del editor de la GUI de Windows y las teclas de acceso directo.
vi editor para usuarios de Windows
fuente
I
no es0
sino^
, ya que ambosI
y^
van al primer carácter de la línea que no es un espacio en blanco, sino que0
van a la columna cero (como su nombre lo indica).0
sería el análogo de (vaya al primer carácter (= columna 0) de la línea y vaya al modo de inserción)0i
. :-)Si su línea actual se ajusta alrededor de la pantalla visible en la siguiente línea, puede usar g $ para llegar al final de la línea de la pantalla .
fuente
gw
ygq
son comandos que reformatean el texto. (ver:h gw
y:h gq
) Lo que probablemente sucedió fue que hicistegw{motion}
y cambiaste un texto para que las líneas de la pantalla correspondieran a las líneas reales.El signo de dólar: $
fuente
En muchos casos, cuando estamos dentro de una cadena estamos encerrados entre comillas dobles, o al escribir 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. Escriba la siguiente línea dentro de su archivo vimrc :¿Qué dice la línea? Asigna Ctrl + l a una serie de comandos. Es equivalente a presionar Esc(modo comando), $(final de línea), a(agregar) de una vez.
fuente
vim
ciertamente le permite hacer mucho más en mucho menos tiempo con cosas como esta. @razorxpress, sería un ajuste menorimap <C-l> <Esc>A
, que hace que Ctrl + l sea el equivalente a presionarEsc
(salir del modo de inserción), luegoA
(agregar al final de la línea).inoremap <C-l> <C-o>A
La ventaja de la tecla 'Fin' es que funciona tanto en modo normal como en modo de inserción.
'$' funciona solo en modo normal / comando pero también funciona en el editor vi clásico (es bueno saber cuando vim no está disponible).
fuente
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 finaliza con el carácter Fin de línea ("\ n"). Una línea de pantalla es lo 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 demás.
La distinción también se muestra en los comandos de fin de línea.
Si siempre prefiere el último comportamiento, puede reasignar las teclas de esta manera:
fuente
g_
es el último espacio no en blanco de la línea física . ¿Qué tal línea de pantalla?Presione Apara ingresar al modo de edición comenzando al final de la línea.
fuente
O hay una respuesta obvia: use la Endtecla para ir al final de la línea.
fuente
No puedo ver la tecla de acceso rápido para macbook para usar vim en terminal estándar Espero que ayude a alguien. Para usuarios de macOS (probado en macbook pro 2018):
Para los dos últimos comandos, en algún momento debe tocar dos veces.
fuente
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.
fuente
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 atrás y hacia adelante, respectivamente.
fuente
Estaba acostumbrado a Inicio / Fin, llevándome al inicio y al final de las líneas en modo Insertar (desde el 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 algunas pruebas y errores dolorosos, 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 no pude encontrar una manera de vincularlo). Disfruta.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- también, pero eso no pega tan bien en lugares como este.
fuente