Abrir nuevos buffers vim en nuevas ventanas?

1

Me gusta vim, pero no me gustan sus buffers. ¿Hay alguna forma de iniciar un gvim separado cada vez que normalmente abriría un archivo en un nuevo búfer? Probablemente podría alias :edit a algún otro comando de lanzamiento, pero ¿es ese el enfoque correcto?

Jeff
fuente
¿Podría explicar lo que no le gusta de los buffers de Vim?
romainl
Utilizo un administrador de ventanas de mosaico, así que cuando tengo diferentes búferes abiertos es como un diseño de mosaico anidado. Tengo que recordar dos conjuntos de accesos directos diferentes para moverme, y es difícil organizar las cosas.
Jeff
Usted está perdiendo mucho por un beneficio muy pequeño de la OMI. También el diseño de mosaico anidado se debe a que está confundiendo "búfer" y "ventana". Puede tener perfectamente muchas docenas de buffers abiertos a la misma hora sin que se muestren en Windows.
romainl
Sí, tiendo a perder el rastro de buffers abiertos en segundo plano, luego trato de abrir el mismo archivo en otro lugar y vim se queja sobre los archivos de intercambio. Así que tiendo a usar solo :ball mucho. Sin embargo, supongo que esa es otra versión del mismo problema, porque no sucedería con todo en una sola ventana Vim monolítica.
Jeff
El problema del archivo de intercambio solo aumentará si utiliza varias instancias de Vim para trabajar en el mismo proyecto. Prueba esto: :nnoremap gb :buffers<CR>:b<space>
romainl

Respuestas:

0

GVim no es compatible con múltiples ventanas de "toplevel" (ver Usando Vim / Gvim con múltiples ventanas GUI ). Pero podría hackearlo creando un comando de usuario que inicie un nuevo proceso gVim. Algo como esto:

: comando -nargs = * -complete = file Nuevo: sistema de llamadas ('gvim'. shellescape (& lt; f-args & gt;))

Este comando puede fallar de manera interesante con los nombres de archivo "creativos". Traté de hacerlo robusto sin hacerlo complejo, pero no lo he probado exhaustivamente.

Hay una serie de inconvenientes en insistir en usar Vim de esta manera. Puede que no te guste el manejo del búfer de Vim, pero puede ser bastante útil si puedes aprender a usarlo.

Heptite
fuente
2

Para mí, las ventanas divididas y la capacidad de cambiar, jalar y pegar rápidamente entre ellas son esenciales para trabajar de manera efectiva con Vim. Por supuesto, puede desarrollar su propio flujo de trabajo idiosincrásico, pero lo recomendaría. En su lugar, haga todo lo posible por seguir lo que un gran ejército de usuarios de Vi (m) ha encontrado muy útil. A pesar de la curva de aprendizaje a veces pronunciada, es importante conocer la diferencia entre archivos, buffers, ventanas y páginas de pestañas.

Como una especie de punto medio, puede intentar experimentar con abrir nuevos archivos en páginas de pestañas (es decir, usar :tabedit en lugar de :edit ) como alternativa al lanzamiento de una instancia de Vim completamente separada. La sensación es como en los navegadores web, y usted mantiene el beneficio de los registros y marcas compartidos.

Ingo Karkat
fuente
0

La "forma de búfer" tiene muchos beneficios: todos los búferes con los que trabaja con los registros de recursos compartidos, por ejemplo, o una asignación u opción global definida en una ventana está disponible para todos los demás, o puede copiar / pegar y múltiples registros sin una ventana administrador, o puede hacer referencia a partes de otros buffers en comandos Ex ...

De todos modos, probablemente podrías hacer algo como :!gvim filename. Pero, en ausencia de una lista razonable de los beneficios de este método y los inconvenientes de la "forma de almacenamiento intermedio") realmente no tiene sentido hacerlo.

romainl
fuente