Comment ajoute-t-on un mot contenant une barre oblique au fichier de dictionnaire de son épeler vim?

4

J'essaie de faire:

:spellgood w/o

Je reçois un message d'erreur disant

Drapeaux non reconnus dans la ligne 16 de ~ / .vim / spell / en.utf-8.add

J'ai tenté les choses suivantes en vain:

:spellgood w\/o
:spellgood w//o
:spellgood "w/o"
:spellgood 'w/o'

J'ai aussi essayé de sélectionner visuellement le mot en question et de frapper z g . Même erreur.

Comment puis-je obtenir vim d'arrêter de me dire que sans est un mauvais mot?

Ajouter o au fichier de sorts ou en majuscule sans à W / O fonctionne, mais ces options me rendent triste.

Mettre à jour

J'ai ajouté ce qui suit sous ~ / .vim / spell / en_US.aff

SET ISO8859-1
KEY qwertyuiop|asdfghjkl|zxcvbnm
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'-
NOSUGGEST !

# ordinal numbers (1st, 2nd, 3th, 11th) and decads (0s, 10s, 1990s)
COMPOUNDMIN 1
# only in compounds: 1th, 2th, 3th
ONLYINCOMPOUND c
# compound rules:
# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
COMPOUNDRULE 2
COMPOUNDRULE n*1t
COMPOUNDRULE n*mp
WORDCHARS 0123456789' 

et le fichier suivant comme ~ / .vim / spell / en_US.dic

1
w\/o

et ont exécuté les commandes vim suivantes:

:cd ~/.vim/spell
:mkspell mine en_US.aff
:set spelllang+=mine
:spellinfo
file: ~/.vim/spell/en.utf-8.spl
file: ~/.vim/spell/mine.utf-8.spl
file: ~/.vim/spell/en.utf-8.add.spl

Et je n'arrive toujours pas à faire reconnaître vim w/o comme un bon mot.

kzh
la source
La raison de l'ajout o au fichier fonctionne est parce que vous avez déjà ajouté w au fichier de sort.
FDinoff
@FDinoff Je comprends cela, mais ce que j’essayais de dire, c’est que l’ajout séparé de w et o est une solution inacceptable.
kzh
Je suis d'accord pour ajouter les deux serait bizarre.
FDinoff

Réponses:

4

De :help spell

Remarque: les lignes 5 à 7 non utilisées sont des caractères. Vous pouvez inclure   n'importe quel caractère dans un mot. En vérifiant le texte un mot encore seulement   correspond quand il apparaît avec un caractère autre qu'un mot avant et après celui-ci.   Pour Myspell, un mot commençant par un caractère autre que le mot n'aura probablement pas   travail.

Dans la ligne 12, le mot "TCP / IP" est défini. Depuis la barre oblique a   signification spéciale, la virgule est utilisée à la place. Ceci est défini avec le   SLASH dans le fichier affixe, voir | spell-SLASH |. Notez que sans   cet élément SLASH le mot sera "TCP, IP".

Au-dessus, certains mots personnalisés sont définis, par exemple TCP / IP Donc, vous devriez juste avoir besoin d'utiliser , au lieu de / dans ce cas.

c'est-à-dire utiliser w,o

modifier

Comme vous le soulignez, je pointais vers la documentation sur .dic fichiers, qui dans mon expérience limitée sont plus communs. dans le .dic fichier, vous pouvez utiliser votre solution de w\/o (voir :help spell-SLASH )

WORDS WITH A SLASH                                      *spell-SLASH*

The slash is used in the .dic file to separate the basic word from the
affix letters and other flags.  Unfortunately, this means you cannot
use a slash in a word.  Thus "TCP/IP" is not a word but "TCP with the
flags "IP".  To include a slash in the word put a backslash before it:
"TCP\/IP".  In the rare case you want to use a backslash inside a word
you need to use two backslashes. Any other use of the backslash is
reserved for future expansion.
nerdwaller
la source
Donc, ce que vous me dites, c'est que j'aurais mieux dû utiliser RTFM.
kzh
Cela ne fonctionne pas pour moi. J'entre la commande :spellgood w,o et le w et le o sont surlignés en rouge. Maintenant je :help spell-SLASH, il est écrit "la barre oblique est utilisée dans le fichier .dic". Je n'utilise pas de .dic fichier. :spellgood ajoute le mot à mon ~/.vim/spell/en.utf-8.add fichier. Sont-ils le même type de filet? Avez-vous essayé votre suggestion et voir si cela fonctionne?
kzh
Il semble donc qu'il existe deux types de fichiers différents: spell-wordlist et spell-dic. J'essayais d'utiliser liste de mots, votre réponse utilise dic. Je ne sais pas comment utiliser dic, mais je suis en train de chercher.
kzh
J'ai parcouru le manuel, mais je ne trouve pas comment créer un fichier .dic. Je vois plusieurs références, mais je ne vois aucune instruction comme celle-ci. Où avez-vous votre * .dic?
kzh
J'ai mis à jour ma question, votre réponse semble toujours être un non-aller.
kzh
1

Vous avez presque fini, vous faites juste une petite erreur.

Vous devez d'abord compiler le dictionnaire avant de le déplacer ~/.vim/spell, le format correct est .spl au lieu de .aff.

j'ai trouvé un très bon article sur la façon dont vous devriez installer / créer un fichier de sort. J'utilise la liste de mots indiquée par l'auteur de l'article, mais les pages et les liens du wiki se sont brouillés.

Ici vous pouvez trouver le dictionnaire / liste de mots en_US.
http://downloads.sourceforge.net/wordlist/hunspell-en_US-7.1-0.zip

MODIFIER
Je n'ai pas vu votre modification au début, alors supprimez les informations ci-dessus - mais si vous utilisez la liste de mots à condition que cela fonctionne. :)

Dominik Hadl
la source
Avez-vous essayé avec le mot 'w / o'? Cela a-t-il fonctionné? Je vais essayer de remplacer :mkspell mine en_US.aff avec :mkspell mine en_US quand je rentre à la maison. Merci.
kzh