Condividi i completamenti tra le istanze di vim in esecuzione


10

Uso tmuxper la maggior parte invece di utilizzare vimschede e divisioni. Vim ha la possibilità di condividere i completamenti (tramite Ctrlne Ctrlp) tra istanze in esecuzione? C'è un modo per installarlo dove ognuno dei due vimssta comunicando con il server vim.


8
No, questo non può essere fatto in modo pratico . Vim è perfettamente in grado di gestire dozzine e dozzine di buffer, sfruttando la sua potenza.
Romainl

1
@romainl, potremmo avere qualcosa scritto in un "file di completamento" da dove vimleggere e aggiornare la sua lista di completamento?
J. Chomel,

Risposte:


2

Vim è in grado di utilizzare lo stesso database di completamento se il database è esterno a ciascuna istanza di Vim.

Ad esempio, il completamento sarà in qualche modo "condiviso" se si utilizza il ctagscompletamento youcompletemeo qualsiasi altro plugin che utilizza file o processi esterni.

Il completamento delle parole non è abbastanza utile per te perché utilizzerà solo le parole nello stesso file: C-N/C-P

Ma omnie ctagsil completamento utilizzerà ctagsdatabase (che dovrebbe essere costruito da exuberant ctagsin anticipo) e sarà condiviso tra tutte le istanze.

Digitare C-X C-Oper omni-completamento, C-X C-]per completamento ctags.


0

In :help i_ctrl-nesso mostra che Vim utilizza l' completeopzione per completare le parole. La guida completecontinua a mostrare che l'unica vera opzione per usare qualcosa che non è locale all'istanza di Vim è usare un file di dizionario. La domanda si riduce quindi alla generazione di un tale file di dizionario usando tutte le istanze di vim. Puoi farlo analizzando tutti i file aperti di tanto in tanto. Non ho idea dell'impatto che ciò avrebbe sulle prestazioni.

Un'altra opzione sarebbe quella di utilizzare un meccanico completamente diverso (tag, ecc.), Ma ciò potrebbe interrompere la funzionalità altrove poiché questi non erano realmente destinati al semplice completamento automatico.

Su una nota più generale, è anche possibile modificare un po 'il flusso di lavoro per attenersi maggiormente al modo in cui Vim era previsto di essere utilizzato. Ciò significherebbe usare una o poche finestre per guardare le cose contemporaneamente e cambiare spesso i buffer. Un plugin che fa molto bene la parte di commutazione è ctrlP. Dopo averlo attivato premendo un pulsante, consente di effettuare una ricerca confusa dei file in vari punti, consentendo in tal modo una rapida commutazione. Finché ricordi il nome file che è.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.