2010-07-21 34 views
11

Estoy en el proceso de aprender vim, y acabo de aprender sobre marcas. Antes de esto, me pareció útil tener todos los archivos de código fuente en los que estoy trabajando en sus propias pestañas. Cuando me enteré de las marcas "globales" (letra mayúscula), pensé que sería una gran manera de cambiar a una pestaña que ya tiene el archivo marcado abierto, y desplazarse al lugar correcto de una manera rápida. Sin embargo, descubrí que saltar a una marca en un archivo diferente simplemente cambia el archivo que muestra la pestaña actual, y esto altera la configuración de mis pestañas. ¿Hay alguna manera de hacer que las marcas funcionen con las pestañas como yo quiero?Vim: ¿pueden las marcas globales cambiar las pestañas en lugar del archivo en la pestaña actual?

+0

Parece que no debería funcionar así. También podría usar búferes, supongo. – Eskil

+1

Vea [this] (http://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers) preguntas y respuestas, con un poco de suerte harán desaparecer esta pregunta :) –

Respuesta

3

El problema es que los comandos de salto de marca están diseñados para moverse a la marca dentro de la ventana actual. Es necesario cambiar a una nueva ventana primera usando :sbuf o :tabnext o CTRL + WW. Si configuró switchbuf=useopen,usetab, usar primero :sbuf <otherfile> será suficiente para saltar a la otra pestaña donde está abierto su archivo. Pero 'A no creará una nueva ventana para usted (o reutilizar una existente en otra pestaña).

Probablemente puede crear una asignación de ' y `` which uses getPos() (, setpos) ,: SBUF , and switchbuf` para saltar a una ventana existente en otra pestaña, pero implicaría escribir una página de Vimscript.

Ver :help switchbuf y :help getpos() y :help setpos().

1

Las pestañas pueden no ser la mejor manera de hacer lo que intenta hacer. Cuando un archivo está abierto, no necesariamente se abre en una sola pestaña. Está abierto en un búfer, que es un concepto no vinculado a una pestaña.

De hecho, puede tener el mismo búfer abierto en varias pestañas (o incluso en varios paneles dentro de la misma pestaña). Una pestaña es más como una ventana en uno o más de sus búferes abiertos actualmente.

Puede ser mejor aprender cómo cambiar entre almacenamientos intermedios en su pestaña o panel actual. Sólo una sugerencia.

Cuestiones relacionadas