Dictionnaire français pour Vim

a marqué ce sujet comme résolu.

Bonjour,

J’ai configuré le correcteur orthographique de Vim. Il est assez mauvais :

  • Les apostrophes typographiques ne sont pas reconnues, alors que les apostrophes droites si. Ça devraient être l’inverse. Exemple : « l’inverse » est souligné, mais pas « l'inverse »
  • Il a beaucoup de mal avec les mots contenant des tirets. Typiquement « laissez-les » va être souligné, avec en proposition de correction « laissez les ».
  • Les mots composés sont rarement présent (“surpêche” lui est inconnu par exemple).
  • Pas de correction de typographie, (espaces fines insécables avec les guillemet, les points virgules, par exemple).

Je vais pas faire la liste exhaustive, mais est-ce qu’il y aurait moyen d’installer un dictionnaire un peu plus « moderne » dans Vim ?

Salut,

Le dictionnaire de Vim pour le français n’est pas à jour, et c’est pas nouveau. Plutôt que d’attendre du progrès sur ce front, j’imagine qu’il serait plus efficace d’utiliser un plugin qui se connecte à un outil plus poussé genre grammalecte.

Par ailleurs, il y a deux de tes points qui me semblent plutôt étranges :

  • Les apostrophes typographiques ne sont pas reconnues, alors que les apostrophes droites si. Ça devraient être l’inverse. Exemple : « l’inverse » est souligné, mais pas « l'inverse »
  • Pas de correction de typographie, (espaces fines insécables avec les guillemet, les points virgules, par exemple).

Ce n’est pas le genre de problème dont on se préoccupe typiquement dans un document au format texte… C’est plutôt le boulot du moteur de composition de s’en occuper (LaTeX, rendu markdown, etc).

+2 -0

J’utilise Grammalecte et son plugin vim.

Ce n’est pas le genre de problème dont on se préoccupe typiquement dans un document au format texte… C’est plutôt le boulot du moteur de composition de s’en occuper (LaTeX, rendu markdown, etc).

Même si j’approuve le message, il m’arrive parfois d’avoir à écrire du texte dans dans fichiers (JSON par exemple) où il n’y aura pas de traitement supplémentaire avant de l’afficher à l’utilisateur. Dans c’est cas là, ça aurait été pratique d’avoir une correction orthographique efficace. Malheureusement même Grammalecte se limite à dur texte brut.

+1 -0

Le dictionnaire de Vim pour le français n’est pas à jour, et c’est pas nouveau.

Ce n’est donc pas qu’une impression…

Ce n’est pas le genre de problème dont on se préoccupe typiquement dans un document au format texte… C’est plutôt le boulot du moteur de composition de s’en occuper (LaTeX, rendu markdown, etc).

Oui et non. Dans l’absolu, qu’il ne souligne pas un problème qui sera résolu par le moteur de rendu, ça se tient. Par contre il n’a pas de raison de souligner un truc déjà juste. En l’occurrence, j’utilise un clavier bépo, donc je n’ai pas de raison de faire appel au moteur de rendu pour ce genre de chose.

Merci à vous. Je vais regarder du côté de ce plugin.


Edit : Euh j’ai réussi à l’installer. Par contre ça fonctionne comment ? Je par défaut il se passe rien. Je peux lancer :GrammalecteCheck. Là il me souligne les mots mal orthographiés, et il m’ouvre une petite fenêtre en bas avec l’explication pour la première erreurs. Ça marche comment ensuite ? On peut naviguer d’erreur en erreur et avoir une suggestion de correction ? On peut avoir le soulignement sans avoir la petite fenêtre en bas pour avoir la correction en temps réel ? Est-ce qu’il y a moyen qu’il ne me souligne pas les commandes latex ? Je n’arrive pas à trouver de doc sur le sujet.

+0 -0

Malheureusement, pas d’intégration à LSP ni même de la syntaxe de Vim/Neovim.
Donc non, il souligne les commandes LaTeX\LaTeX. Peut-être qu’un jour quelqu’un se lancera dans une intégration plus approfondie mais pour l’instant on en est là.

Sachant que même le logiciel Grammalecte n’est que très peu maintenue, je suis pas sûr que ça soit vraiment d’actualité.

+0 -0

D’après la doc du plugin :

The |location-list| is populated when running |:GrammalecteCheck|. So you can
use location-list Vim commands such as |:lopen| to open the location-list
window, |:lne| to jump to the next error, etc.

Voir :h location-list, :h :lopen, :h :lne si tu ne sais pas ce que c’est. En général, avec Vim, lire la doc est incontournable.

Justement, c’est toujours galère avec vim de trouver une doc valable.

Soit, je peux entrer :lopen pour avoir la location-list. Je peux configurer :let g:grammalecte_win_height=-1 pour ne pas avoir le scratch buffer. Et je peux utiliser :lne et :lpr pour naviguer entre les erreurs. Je peux passer de la location-list à mon fichier avec ctrl+w+w. Ça c’est écrit dans la doc.

  • Est-ce qu’il y a un moyen d’activer Grammalecte par défaut à l’ouverture du fichier ?
  • Est-ce qu’il y a moyen d’avoir une correction en temps réel ? Actuellement si je lance GrammalecteCheck, il me souligne toutes les erreurs. Mais si je rajoute un mot ensuite, il ne me le souligne pas.
  • Est-ce qu’il y a un moyen de naviguer dans les suggestions de corrections quand le curseur est sur un mot souligné ?

Là-dessus, j’ai rien trouvé, ni dans la doc, ni sur internet. Et accessoirement, la question est posée plusieurs fois sur leur git sans que personne n’ai répondu.

+0 -0

Justement, c’est toujours galère avec vim de trouver une doc valable.

Pour le coup, c’est vraiment une critique qui parait difficile à défendre avec la commande :h:-° Toutes les commandes natives Vim sont bien détaillées, et :h user-manual est un incontournable qui fait le tour du sujet. Que certains plugins soient ensuite mal documentés, c’est un autre problème. Personnellement, je n’ai jamais rencontré le cas, mais je n’utilise que peu de plugins. En l’occurrence, la documentation du plugin grammalecte m’a l’air plutôt bien et elle répond à tes questions.

  • Est-ce qu’il y a un moyen d’activer Grammalecte par défaut à l’ouverture du fichier ?

Ben… Ça, c’est une feature de Vim, pas des plugins. Voir :h autocmd.

  • Est-ce qu’il y a moyen d’avoir une correction en temps réel ? Actuellement si je lance GrammalecteCheck, il me souligne toutes les erreurs. Mais si je rajoute un mot ensuite, il ne me le souligne pas.

Vu la description des features, il n’y a que les commandes asynchrones de disponible. Je soupçonne que grammalecte lui-même est trop lent pour avoir un fonctionnement en temps réel de toute façon. Tu pourrais toujours utiliser une autocmd (on y revient…). Par exemple, :h BufWritePost pourrait t’intéresser pour lancer la commande lorsque tu sauvegardes.

  • Est-ce qu’il y a un moyen de naviguer dans les suggestions de corrections quand le curseur est sur un mot souligné ?

Le plugin lui-même a l’air plutôt primitif et se contenter d’enrichir location-list mais pas d’offrir des suggestions navigables. Les suggestions sont indiquées dans le scratch, mais c’est loin d’être idéal. Je ne connais pas Grammalecte, donc aucune idée d’à quel point il serait facile d’écrire un meilleur plugin qui le wrappe.


Une autre piste serait d’utiliser le LSP ltex qui a l’air d’être plus près de tes attentes. Aucune idée de ce que ça vaut et si le support pour le français est bon ou pas (c’est dans la liste des langues supportées déjà…).

Pour le coup, c’est vraiment une critique qui parait difficile à défendre avec la commande :h…

Ce qui nécessite de déjà connaître le nom de la commande, et donc de savoir si cette fonctionnalité a été implémentée.

En l’occurrence, la documentation du plugin grammalecte m’a l’air plutôt bien et elle répond à tes questions.

Disons que ça m’aurais économisé une heure ou deux de recherches infructueuses s’ils avaient juste mis une phase du type « currently, this extension doesn’t support neither correction suggestions nor real-time checking ».

Bref, sinon, j’ai testé ltex. Ça s’installe facilement, ça fait les verif’ en temps réel sans obliger à naviguer entre deux fenêtre. Donc effectivement ça correspond un peu mieux à mes besoins.

Si quelqu’un connaît un peu le plugin, je n’ai pas trouvé dans la doc comment

  • avoir les suggestions de corrections. Si cette fonctionnalité existe. Je suspect que ça passe plutôt par les fonctionnalités de coc que de ltex, mais je n’ai rien trouvé pour le moment.
  • avoir un soulignement un peu plus joli, plutôt qu’un trait blanc.

Pour le coup, c’est vraiment une critique qui parait difficile à défendre avec la commande :h…

Ce qui nécessite de déjà connaître le nom de la commande, et donc de savoir si cette fonctionnalité a été implémentée.

C’est bien pour ça que j’ai écrit :h, et non :h .... À partir du là, tu es guidé vers :h user-manual, ainsi que d’autres pages qui sont utiles que tu sois débutant ou que tu utilises Vim de façon avancée depuis 20 ans. Je ne plaisantais pas quand je disais que lire le user-manual est incontournable si tu veux te servir de Vim, lire la doc complète fournie avec l’outil sera plus productif que de se plaindre qu’il est difficile de trouver une doc valable avec Vim. :-° Ça t’habituera aussi au style de doc de Vim en général, que les plugins suivent bien, et comment Vim fonctionne en général. Si la doc du plugin ne décrit que deux commandes dans ses features, c’est que le plugin offre ces deux commandes et point-barre. L’automatisation passera par autre chose, comme autocmd.

  • avoir les suggestions de corrections. Si cette fonctionnalité existe. Je suspect que ça passe plutôt par les fonctionnalités de coc que de ltex, mais je n’ai rien trouvé pour le moment.

Ce sera sûrement soit via les complétions du LSP, soit via une code action du LSP. À toi de voir comment activer ça avec coc.

  • avoir un soulignement un peu plus joli, plutôt qu’un trait blanc.

:h :highlight (EDIT: il est aussi possible que ce soit ton terminal qui ne supporte pas des styles de soulignements et le remplace par un simple trait blanc)

+0 -0

J’en profite pour partager ce sujet de blog:

https://www.rockyourcode.com/write-better-in-neovim-with-languagetool/

J’apprécie particulièrement Grammalect mais ici languagetool fait beaucoup mieux avec une intégration via LSP. Le seul problème que j’ai c’est qu’il détecte mal la langue.

Aussi, pour corriger cela, il faut ajouter un commentaire dans le fichier markdown / LaTeX\LaTeX pour fixer la langue. Ça me dérange que ça soit listé dans « Usages avancés » mais bon.

https://valentjn.github.io/ltex/advanced-usage.html

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte