Puis-je ajouter un ensemble de mots au vocabulaire de saisie semi-automatique de Vim?

14

Dans Vim, je suis conscient de l'utilisation de CTRL-n et CTRL-p pour la saisie semi-automatique des mots trouvés dans le document. Ceci est idéal pour promouvoir l'utilisation de méthodes descriptives et de noms de variables.

Je voudrais ajouter un ensemble de mots à la saisie semi-automatique que j'ai souvent mais qui ne figurent pas dans le fichier source que je suis en train de modifier. Ma solution actuelle consiste à simplement ajouter la liste des mots à un commentaire au bas de mon fichier de modèle, mais cela semble un peu gaspillage et kludgey au mieux.

Existe-t-il un moyen d'ajouter des mots au vocabulaire de saisie semi-automatique de Vim qui seraient accessibles à chaque session Vim?

madh
la source

Réponses:

11

Vous pouvez utiliser des abréviations dans votre ~/.vimrcfichier pour seulement quelques mots:

: superutilisateur abbr supe
: abbr autoc saisie semi-automatique
: question abbr que

Ceux-ci se termineront automatiquement après avoir appuyé sur Spaceou Enter. Donc , si vous avez saisi quealors pressé Spaceou Enteril se terminerait le mot « question » pour vous.

Si vous ajoutez beaucoup et que vous voulez cette interface:

texte alternatif

Vous pouvez utiliser des dictionnaires . Configurez simplement un fichier avec un mot sur chaque ligne, puis dans votre .vimrc ajoutez une ligne comme celle-ci:

set dictionary+=/home/john/dict.txt

Remplacez le chemin par l'emplacement de votre fichier de dictionnaire. Vous pouvez ensuite utiliser Ctrl+ xet Ctrl+ kpour afficher les suggestions. Ctrl+ net Ctrl+ ppour sélectionner le suivant / précédent parmi plusieurs sélections.

John T
la source
1
fantastique! je vais utiliser des dictionnaires!
mad
Ça a marché! Mais je n'ai pas ce joli menu. J'utilise VIM 6.3.82, qui n'est pas la dernière version.
mad
Ah ... la mise à jour est-elle utile? Vous devez appuyer sur la séquence Ctrl-x, Ctrl-k pour afficher le menu. Heureux de vous aider cependant :)
John T
C'est la bonne façon.
à.
Je viens de vérifier que cela fonctionne dans VIM 7.2. Merci encore!
madh
3

Les "sources" de la saisie semi-automatique standard (celle que vous obtenez à partir de Ctrl+ N) sont tirées de l' completeoption (voir :h 'complete') La valeur par défaut est

complete=.,w,b,u,t

ce qui signifie

  1. . analyser le tampon actuel
  2. w analyser les tampons d'autres fenêtres
  3. b analyser les autres tampons chargés qui sont dans la liste des tampons
  4. u analyser les tampons déchargés qui sont dans la liste des tampons
  5. t achèvement de la balise

vous pouvez ajouter votre propre dictionnaire avec

set complete+=k~/.vim/keywords.txt

et ajoutez les mots clés un par ligne ~/.vim/keywords.txt. De cette façon, vous pouvez accéder directement aux compléments avec Ctrl+ N(il n'est pas nécessaire d'expliquer explicitement la complétion du dictionnaire avec Ctrl+ X, Ctrl+ K). J'ai trouvé cela particulièrement utile pour les compléments de code où j'ai tous les noms de fonctions couramment utilisés danskeywords.txt

ecerulm
la source