Compartir finalizaciones entre instancias vim en ejecución

10

Lo uso tmuxen su mayor parte en lugar de usar vimpestañas y divisiones. ¿Tiene vim la capacidad de compartir terminaciones (vía Ctrlny Ctrlp) entre instancias en ejecución? ¿Hay alguna manera de configurarlo donde cada uno de ellos se vimsestá comunicando con el servidor vim?

Gregory Nisbet
fuente
8
No, esto no se puede hacer de manera práctica . Vim es perfectamente capaz de manejar docenas y docenas de buffers, usa su poder.
romainl
1
@romainl, ¿podríamos tener algo escrito en un "archivo de finalización" desde donde vimleería y actualizaría su lista de finalización?
J. Chomel

Respuestas:

2

Vim puede usar la misma base de datos de finalización si la base de datos es externa a cada instancia de vim.

Por ejemplo, la finalización será algo 'compartida' si usa la ctagsfinalización youcompletemeo cualquier otro complemento que use procesos o archivos externos.

Completar palabras no es muy útil para usted porque solo usará palabras en el mismo archivo: C-N/C-P

Pero omniy la ctagsfinalización utilizará la ctagsbase de datos (que debe ser construida de exuberant ctagsantemano) y se compartirá entre todas las instancias.

Escriba C-X C-Opara omni-complete, C-X C-]para completar ctags.

Yuriy Ershov
fuente
0

En :help i_ctrl-nella se muestra que Vim usa la completeopción para completar palabras. La ayuda completecontinúa para mostrar que la única opción real para usar algo que no es local para la instancia de Vim es usar un archivo de diccionario. La pregunta se reduce a generar dicho archivo de diccionario utilizando todas las instancias vim. Puede hacerlo analizando todos los archivos abiertos de vez en cuando. Sin embargo, no tengo idea del impacto que esto tendría en el rendimiento.

Otra opción sería usar una mecánica completamente diferente (ctags, etc.), pero esto podría romper la funcionalidad en otros lugares, ya que en realidad no estaban destinados a la autocompletación simple.

En una nota más general, también podría cambiar un poco su flujo de trabajo para ajustarse más a la forma en que Vim fue concebido para ser utilizado. Esto significaría usar una o unas pocas ventanas para mirar cosas simultáneamente y cambiar los buffers con frecuencia. Un complemento que hace la parte de conmutación muy bien es ctrlP. Después de activarlo presionando un botón, le permite hacer una búsqueda difusa de archivos en varios lugares, lo que permite un cambio rápido. Siempre y cuando recuerdes el nombre de archivo que es.

Octavour
fuente