Pregunta

Programando en vim A menudo busco algo, lo tiro, luego vuelvo a donde estaba, lo inserto y lo modifico.

El problema es que después de buscar y encontrar, necesito encontrar MANUALMENTE el camino de regreso a donde estaba.

¿Existe alguna forma automática de volver a donde estaba cuando inicié mi última búsqueda?

¿Fue útil?

Solución

Control+oh me lleva a la ubicación anterior.No sé sobre la ubicación antes de la búsqueda.

Editar:También, `. Lo llevará al último cambio que realizó.

Otros consejos

Usar `` para volver a la posición exacta en la que estaba antes de buscar/saltar, o '' para volver al inicio de la línea en la que estaba antes de buscar/saltar.

Siempre lo he hecho dejando una huella.

  1. En modo comando, presione m [letra].Por ejemplo, m un establece una marca en la línea actual usando a como identificador de marca.

  2. Para volver a la marca presione ' [carta].Por ejemplo, ' a lo lleva de regreso a la marca establecida en el paso 1.

Para ver todas las marcas que se establecen actualmente, escriba :marcas.


En una nota ligeramente ajena, acabo de descubrir otra cosa ingeniosa sobre las marcas.

Digamos que saltas a la marca b haciendo 'b.Vim establece automáticamente la marca ' (es una comilla simple) debe ser la línea en la que estaba antes de saltar a la marca b.

Eso significa que puedes hacer 'b para saltar a esa marca, entonces hazlo '' (2 comillas simples) para volver a donde estabas antes.

Descubrí esto accidentalmente usando el :marcas comando, que muestra una lista de todas las marcas.

Realmente deberías leer :help jumplist explica todo esto muy bien.

CTRL+O y CTRL+I, para saltar hacia adelante y hacia atrás.

La forma más sencilla es establecer una marca, con m[letter], luego vuelve a ello con '[letter]

Yo uso este:

nnoremap / ms/
nnoremap ? ms?

Entonces si busco algo usando / o ?, puedo regresar rápidamente `s.Podrías reemplazar la letra. s a cualquier letra que quieras.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top