Comment puis-je faire en sorte que la fenêtre de sélection de vérification orthographique me permette de taper ma propre correction?

14

Lorsque vous effectuez une vérification orthographique ou une saisie z=, une liste de sélection s'affiche, comme indiqué ci-dessous.

sélectionnez correct

Comme vous pouvez voir l'orthographe correcte; "ie" n'apparaît dans aucune des options. Je voudrais améliorer ce menu, afin que je puisse à la place simplement taper "ie" et appuyer sur Entrée et le faire remplacer.

Ce serait également bien si, dans le cadre de la même étape, je pouvais commencer à taper le nom de l'une des options présentées et l'onglet rivaliser avec cela - mon esprit fonctionne mieux pour remplacer les mots en entrant des mots plutôt qu'en entrant des nombres.

Je soupçonne que cela doit être fait avec un plug-in mais je ne suis pas certain que ce ne soit pas seulement une option de configuration.

Lyndon White
la source

Réponses:

5

Regarder la spell_suggest()fonction dans spell.ccela ne semble pas possible avec z=. Après avoir obtenu et affiché toutes les suggestions possibles, il:

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);

prompt_for_number()vit misc1.cet fait exactement ce que vous attendez de lui: il demande un nombre (voir également get_number()dans le même fichier). Les mappages ou autres entrées ne sont pas autorisés.


Une deuxième option consiste à utiliser le sort "Vim" de Vim à Ctrl x+ sou Ctrl x+ Ctrl s1 en mode insertion. Cela fait à peu près ce que vous voulez. Vous pouvez choisir parmi les compléments avec Ctrl net Ctrl pou les touches fléchées, ou taper votre propre amélioration.

Vous pouvez utiliser le plugin supertab pour le faire avec votre Tabclé. :help ins-completiona également une CleverTab()fonction que vous pourriez adapter pour cela.

Pour plus d' informations, voir: :help ins-completion, :help i_CTRL-X_s


Enfin, Vim a la spellsuggest()fonction, qui renvoie une liste de suggestions d'orthographe:

:echo spellsuggest('hellz')
['hells', 'hello', 'hell', 'help', 'halls', 'heals', 'heels', 'hills', 'hulls', 'hell''s',
 'hellos', 'hell’s', 'held', 'helm', 'tell', 'well', 'bells', 'cells', 'dells', 'fells',
 'helot', 'helve', 'hertz', 'hilly', 'holly']

Vous pouvez utiliser cette fonction pour créer votre propre écran de suggestion de sort.


note de bas de page

1 : Notez que l'utilisation Ctrl speut ne pas fonctionner, comme le mentionnent les documents:

REMARQUE: CTRL-S suspend l'affichage dans de nombreux terminaux Unix. Utilisez 's' à la place. Tapez CTRL-Q pour reprendre l'affichage.

Si vous utilisez gVim, l'utilisation Ctrl sdevrait fonctionner. Ou vous pouvez désactiver cela dans votre terminal avec stty -ixon.

Martin Tournoij
la source
3

Je vais développer / consolider @ quincy-bowers réponse:

  1. Vous ne pouvez pas saisir vos propres suggestions à partir de l'écran des suggestions de sorts.
  2. Cela n'a pas beaucoup de sens (dans VIM) d'entrer vos propres suggestions dans l'écran des suggestions de sorts.

VIM est un éditeur de texte. Puisque c'est ce qu'il fait le mieux, il laisse le montage à lui-même. En d'autres termes, la réponse pour changer un mot mal orthographié en votre propre suggestion personnalisée appuyez simplement sur enterpour ignorer la liste de suggestions, puis modifiez le mot en votre orthographe correcte manuellement. ( ciwfonctionne parfaitement pour cela).

Ensuite (comme l'a suggéré @ quincy-bowers) si vous voulez que l'orthographe correcte personnalisée apparaisse dans les listes de suggestions suivantes, tapez zglorsque le curseur est sur le mot et elle sera ajoutée à votre dictionnaire d'orthographe (voir :help zgpour plus de détails).

Cependant, après avoir dit tout cela, cela n'a pas empêché les gens intelligents qui utilisent VIM de trouver des alternatives (des moyens illimités pour habiller un chat, disent-ils) et vous pouvez donc essayer un plugin alternatif, par exemple unite-spell-suggest .

Sukima
la source
Décrire le flux de travail actuel est plus un commentaire qu'une réponse. Bien que vous l'expliquiez bien.
Lyndon White
1
@Oxinabox vous cherchez peut-être quelque chose de plus sur le modèle de: vim.org/scripts/script.php?script_id=4929 peut-être?
Sukima
Oui, cela ressemble beaucoup plus à ce que je recherche.
Lyndon White
2

Sans ajouter de plugins, vous pouvez ajouter un bon mot connu à votre fichier de sorts. Plutôt que z=de faire apparaître les suggestions d'orthographe, sélectionnez visuellement le texte que vous souhaitez ajouter au fichier d'orthographe et appuyez sur zg.

Je dois également noter qu'à partir de la fenêtre de suggestion de sorts, vous pouvez utiliser la souris pour sélectionner celle que vous voulez tant que vous avez activé la souris pour le mode NORMAL. J'ai set mouse=amis dans mon .vimrc, par exemple, qui permet à la souris dans tous les modes que je sois dans Vim ou gVim.

Je ne pense pas que les autres choses que vous voulez puissent être accomplies sans plugin ni changement de Vim lui-même.

Quincy Bowers
la source
1
Ce sont tous des conseils utiles, mais je ne vois pas comment ils répondent à la question?
Martin Tournoij
@Carpetsmoker Je pourrais dire la même chose de votre propre réponse. Je lui ai dit que ce n'était pas possible et j'ai proposé un changement de flux de travail comme solution possible. Tout comme vous.
Quincy Bowers, le
1
@MartinTournoij Cette réponse donne en fait une solution au problème: doit inclure un nouveau mot > zg exécute une telle inclusion .
nilon