J'utilise tmux
la plupart du temps au lieu d'utiliser des vim
tabulations et des scissions. Vim a-t-il la possibilité de partager des achèvements (via Ctrlnet Ctrlp) entre des instances en cours d'exécution? Existe-t-il un moyen de le configurer là où chacun vims
communique avec le serveur vim
.?
autocompletion
tmux
clientserver
Gregory Nisbet
la source
la source
vim
lirait et actualiserait sa liste d'achèvement?Réponses:
Vim peut utiliser la même base de données d'achèvement si la base de données est externe à chaque instance de vim.
Par exemple, l'achèvement sera quelque peu «partagé» si vous utilisez l'
ctags
achèvementyoucompleteme
ou tout autre plugin qui utilise des processus ou des fichiers externes.La complétion de mots n'est pas très utile pour vous car elle n'utilisera que des mots dans le même fichier:
C-N
/C-P
Mais
omni
et l'ctags
achèvement utilisera lactags
base de données (qui devrait être construite auexuberant ctags
préalable) et sera partagée entre toutes les instances.Tapez
C-X C-O
pour omni-complétion,C-X C-]
pour complétion ctags.la source
Il
:help i_ctrl-n
montre que Vim utilise l'complete
option pour compléter les mots. L'aidecomplete
continue pour montrer que la seule vraie option pour utiliser quelque chose qui n'est pas local à l'instance de Vim est d'utiliser un fichier de dictionnaire. La question se résume alors à générer un tel fichier de dictionnaire en utilisant toutes les instances de vim. Vous pouvez le faire en analysant tous les fichiers ouverts de temps en temps. Je n'ai cependant aucune idée de l'impact que cela aurait sur les performances.Une autre option serait d'utiliser un mécanisme entièrement différent (ctags, etc.) mais cela pourrait casser les fonctionnalités ailleurs car elles n'étaient pas vraiment destinées à la simple autocomplétion.
De manière plus générale, vous pouvez également modifier un peu votre flux de travail afin de vous en tenir davantage à la façon dont Vim était censé être utilisé. Cela signifierait utiliser une ou quelques fenêtres pour regarder les choses simultanément et changer souvent de tampon. Un plugin qui fait très bien la partie commutation est ctrlP. Après l'avoir activé en appuyant sur un bouton, il vous permet de faire une recherche floue de fichiers à divers endroits, permettant ainsi une commutation rapide. Tant que vous vous souvenez du nom de fichier.
la source