metrologia - Vim: Mueve el cursor a su última posición
vim online (4)
¿Por qué nadie resolvió el problema con la respuesta de DrAl ? ¡El '' '' o ` ` no resolverá el problema original de esta publicación! Estos dos comandos no funcionarán para algunos movimientos del cursor como 2 j , al menos para mí. Hará al novato vim más confundido.
El comportamiento de '' '' o ` ` , y Ctrl I o Ctrl O se basan en la lista de salto. El 2 j no guardará los cambios de posición en la lista de salto, por lo que este comando no funcionará para 2 j .
'' '' o ` ` cambia entre la última posición y la posición actual. Ctrl I y Ctrl O trabajan a través del historial de listas de saltos.
g ; yg , desplazarse por las posiciones de edición, que también se utilizan con mucha frecuencia.
¿Es posible en (g) Vim mover el cursor a su posición anterior (en el modo normal)? Algo para ir y venir en la lista de posiciones anteriores del cursor sería ideal. Pero también bastaría con cambiar a la última ubicación (algo como cd -
in bash con directorios).
Aquí hay una pequeña demostración:
line |1| <- cursor position
line 2
line 3
line 4
Y supongamos que lo hice 2j
, así es como es ahora:
line 1
line 2
line |3| <- cursor position
line 4
Ahora me gustaría presionar algo (aparte de 2k
obviamente) para regresar a la primera posición y posiblemente a las posiciones anteriores.
Desde la ayuda (: ayuda a saltar):
: ju [mps] Imprime la lista de salto (no es un comando de movimiento). {no en Vi} {no disponible sin el | | jumplist | característica}
*jumplist*
Los saltos son recordados en una lista de saltos. Con los comandos CTRL-O y CTRL-I, puede ir a las posiciones del cursor antes de los saltos más antiguos y volver a la posición anterior. De esta forma puedes subir y bajar la lista. Hay una lista de salto por separado para cada ventana. El número máximo de entradas se fija en 100. {no disponible sin el | + jumplist | característica}
La forma más rápida es golpear a cualquiera de los dos:
'' ''
(dos apóstrofes) o:
` `
(Dos backticks). Tenga en cuenta que la diferencia es que el backtick va a la misma ubicación en la línea, mientras que el apóstrofe va al principio de la línea. En un teclado del Reino Unido, el apóstrofe es más accesible, así que tiendo a usar ese. Hay un montón de marcas útiles como esta, ver :help mark-motions
.
Para algunos otros movimientos (no 2 j , creo), también está la lista de saltos que le permite navegar de un lado a otro entre varios movimientos. Ctrl O y Ctrl Yo hago esta navegación, pero vea :help jump-motions
de :help jump-motions
para obtener más información.
También puedes usar g;
g,
para retroceder y avanzar en la lista de las ubicaciones de edición anteriores.
En mi teclado suizo y alemán, escribiendo ;
inconveniente requiere el uso de la tecla Shift
. Por lo tanto, g-
como un alias más conveniente para g;
en $MYVIMRC
:
" Map g- as an alias for g;
nnoremap g- g;