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?

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.


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.