¿Cómo puedo mantener una lista de búfer por ventana en Vim?

15

Me sorprende no haber podido encontrar una respuesta a esto, pero tal vez me estoy perdiendo algo obvio: ¿es posible mantener una lista de búfer por ventana ? A menudo tengo alrededor de 4 divisiones, y cada una normalmente tiene un propósito específico: CSS en una, JS en otra, HTML en algunas otras, etc.

Lo que probablemente estoy buscando es un complemento que logre esto. Últimamente he estado usando BufExplorer, que tiene una configuración que le permite mantener su lista de buffers por pestaña, pero no por ventana.

Realmente me gusta la lista MRU que tiene BufExplorer, pero me resulta molesto que esté basada en mi lista global de buffers; lo que quiero es un historial de MRU por ventana.

Brent Dillingham
fuente
No puedes encontrarlo porque aún no se ha construido. La mayoría de los vecinos más cercanos se identifican en estas preguntas y respuestas
Nueva Alejandría el

Respuestas:

1

En mi humilde opinión, lo que realmente necesita es un administrador de espacio de trabajo.

puede encontrar uno para vim @ http://www.vim.org/scripts/script.php?script_id=1410

Le proporcionará los siguientes comandos:

:WsAddFile              Add a new file to the workspace.                  
:WsAddGroup             Add a new group to the workspace.                 
:WsClose                Close the workspace window.                       
:WsInsertFile           Insert a file.                                    
:WsInsertGroup  Insert a group.                                           
:WsOpen         Open a workspace and display it in a window.              
:WsRun          Run a command using the selected unquoted file names.     
:WsRunq         Run a command using the selected quoted file names.       
:WsSave         Save the workspace.                                       
:WsSessionOpen  Open the workspace and Vim session.                       
:WsSessionSave  Save the workspace and the Vim session.                   
:WsToggle               Open or Close the workspace window. 

Tengo una captura de pantalla de trabajar con el administrador de Workspace con más de 4 ventanas publicadas en mi fb , puede verlo allí (que es público).

No es exactamente una lista de búferes como lo quería, pero puede abrir archivos en diferentes ventanas y en múltiples búferes en la misma ventana.

En el último caso, el administrador del espacio de trabajo servirá como una lista de búfer. Como puede ver en la captura de pantalla, he agrupado los archivos en diferentes grupos.

Esto es lo más cercano que puedes conseguir, AFIK.

Buen día.

kra3
fuente
0

¿Por qué calzar ese nivel de gestión de ventanas en vim? De vez en cuando uso ventanas divididas: tengo Ctrl-F asignado a un comando grep de estilo de búsqueda en archivos que aparece en una ventana dividida, y también uso vimdiff en ocasiones.

¿Pero realmente quieres una administración de ventanas permanente en vim? El administrador de conexión PuTTY y todo tipo de emuladores de terminal le permiten dividir los terminales como desee y luego ejecutar sesiones vim separadas en cada uno.

asc99c
fuente
¿Puedes compartir registros entre instancias vim? Esta es siempre mi razón número uno para no querer múltiples instancias de ejecución de vim: no puedo yankdesde una y puten la otra.
brianmearns
0

tener NERDTree abierto a la izquierda. >

Tengo varios buffers abiertos (solo uno visible en la vista principal ... llámelo "buffer 1")

Ahora voy a NERDTree y selecciono otro archivo que quiero ver realmente rápido o copiar algo. Así que abro ese archivo de NERDTree y el buffer1 está oculto correctamente y ahora estoy mirando el buffer que acabo de abrir (llámelo buffer 2)

Ahora quiero salir completamente de este búfer 2 y volver a editar el búfer 1, pero cuando lo hago: q en el búfer 2, termino mirando solo un gran NERDTree y tengo que volver a mostrar el búfer1. ... [mostrar resto de cita]

No uso Nerdtree, pero parece que debería estar escribiendo Ctrl- ^ (probablemente Ctrl + la tecla 6) para volver a buffer1.

Trazado de recorte
fuente
0

No estoy al tanto de tal complemento.

Una forma rápida de abrir un búfer de un archivo específico es usar el comando FuzzBFinder: FufBuffer. Se abrirá una lista de todos los buffers abiertos (excepto el que está en su ventana actual) para facilitar el acceso. Tengo el mío obligado, fn. Me permitiría, por ejemplo, ver rápidamente todos los archivos css con, fncss o todos los archivos js con, fnjs. FuzzyFinder es excelente para acceder al archivo / búfer / directorio / etc. que desee con un mínimo esfuerzo (no solo este caso de uso en particular).

Sin embargo, sospecho que está buscando algo que le permita usar: bn y: bN (o lo que sea que tenga asignado, no puedo recordar si ctrl-n / p es predeterminado o mi costumbre) para cambiar entre sus buffers de Un tipo de archivo específico.

Tal vez, podría crear un complemento que le dé comandos para permitir cambiar a los búferes anteriores / siguientes del mismo tipo que el archivo del búfer actual en la ventana actual.

Hannes
fuente
Por cierto, creo que administrar estas listas de búfer separadas sería más doloroso que un alivio.
Hannes
-1

Esta no es una respuesta total, pero parece que vim mantiene búferes separados de # y% para cada ventana. Por lo tanto, puede alternar rápidamente entre dos archivos en una ventana (usando CTRL- ^) y dos archivos diferentes en la otra ventana. Sin embargo, la lista de búferes sigue siendo todos los búferes que ha agregado.

mondaugen
fuente
Esto es realmente un comentario, pero aún no puedo comentar, así que publico una respuesta que se rechaza porque no responde la pregunta. Imagínate.
Mondaugen