online metrologia mac for vim

metrologia - vim online



En Vim, ¿qué es el "archivo alternativo"? (4)

Muy útil para ...

Pegando el nombre de un archivo que acabo de ver en el archivo actual.

Puede usar <CR># para esto en el modo de inserción o "#p en el modo normal.

No es útil para ...

Saltando de un lado a otro entre dos archivos. Hace el trabajo muy bien, pero esto es algo que generalmente no necesito hacer.

Incluso en el ejemplo dado, probablemente usaría :saveas bar.txt en :saveas bar.txt lugar.

Un ejemplo:

Di si estás haciendo un poco de programación en C y quieres llamar a alguna función. No puede recordar el nombre de la función, así que coloca una marca en su ubicación actual mA y salta a varios archivos diferentes utilizando etiquetas o grep para averiguar dónde se declara la función y cómo se llama.

Ah, lo encontré. Puedes copiar el nombre y volver a la marca yiw''A

Uh-oh, también necesitamos #incluir el archivo! Fácil: solo use el registro de nombre de archivo alternativo para pegar el nombre de archivo en ... Gi#include"<CR>#"

Esté contento de haber evitado la distracción de tener que volver a la declaración de la función y copiar el nombre del archivo a través de: let @ "= @% o algo similar.

Lo que preferiría hacer al saltar entre archivos:

  • Al editar dos archivos, es probable que sea más fácil dividirlos, por lo que puede mantener ambos en la pantalla al mismo tiempo. Si estoy editando 2 archivos, por lo general los compararé de alguna manera.
  • Por lo general, estoy interesado en 1-3 archivos (más y me confundo). A menudo saltaré o abriré directamente muchos otros archivos. Marcar los archivos interesantes o atravesar la lista de saltos suele ser la forma de moverse en este caso.
  • Si está editando C / C ++ donde está cambiando entre un archivo y su encabezado, ¡use un complemento! Será mucho más conveniente.

Acabo de ejecutar :help registers en Vim y noté que # ''contiene el nombre del archivo alternativo''.

He visto un ejemplo para cambiar el nombre de los archivos que dice así:

" Save the current file, foo.txt, as bar.txt :w bar.txt " Start editing bar.txt :e#

Aparentemente, en ese caso, el archivo que acaba de guardar es el "archivo alternativo".

¿Puede alguien darme una definición más general para el "archivo alternativo" y para qué más podría usarlo?


El archivo alternativo es el archivo que se editó por última vez en la ventana actual. En realidad, cuando usa algún comando para abrir un búfer nuevo, si el búfer que se mostró tenía un nombre de archivo asociado, ese nombre de archivo se registra como nombre de archivo alternativo.

Ver :help alternate-file .


Lo uso en el contexto del búfer para volver al último búfer que estaba editando

vim foo bar :n :e#

lo llevará de vuelta a foo en ese caso


Siempre he interpretado que el "archivo alternativo" es el "archivo anterior", por lo que es una forma útil de volver al búfer que estaba editando.