0

I'm using Vim 8.0 along with it's excellent spelling feature to check text documents for errors. I need create a custom spelling dictionary by copying the en_us dictionary and modifying it. The modification will swap out all ascii ' [contraction] symbols from the keyboard and use a proper unicode contraction symbol [U+20BC] which is what is used in my project.

For reference, the "typewriter apostrophe" is unicode U+0027 and is an ascii character as well. This is the symbol that Vim Spell determines to be an apostrophe for contractions, and for most users this is probably what's desired. However, there are similar symbols in unicode outside of ascii: U+0219 is a right-single-tic-quotation-mark used in typography (but not on the keyboard or in ascii) It is frequently used with quotations in the print world of publishing, and many times as for contraction words as well. However, the character I need to use is a modifier-letter-apostrophe specifically intended for contractions but not quotations, and this is unicode symbol U+02BC. I will swap U+0027 symbols for U+02BC symbols in my new customized spelling dictionary. I think I will call it something like us_me and use that instead of us_en.


EDIT Vim uses binary dictionaries derived from the Myspell project and are located in /usr/share/vim/vim80/spell/

3
  • I would start by checking all the spell directories under &runtimepath. Otherwise, your question ("where are dictionaries on debian linux") is rather off-topic. (Once you have the dictionary, you can call it nearly whatever you want if you set spelllang/spellfile/etc.)
    – D. Ben Knoble
    Oct 22, 2020 at 22:25
  • After researching, I'm finding out that Vim, since v7.0, uses it's own binary dictionaries that are derived from Myspell and use their naming convention
    – user12711
    Oct 23, 2020 at 14:34
  • (:help :mkspell)
    – D. Ben Knoble
    Oct 23, 2020 at 14:35

1 Answer 1

1

I've had similar wants recently. What I've done is

:setlocal spell spelllang=en_us
:spelldump

switch over to the new window with CTRL-w CTRL-w then to do the conversion

:%substitue/'/’/g

or

:global/'/ copy . | substitue/'/’/g
#this one will make a spell dictionary that includes the both style of quotes

write that into a file somewhere in runtimepath/spell/en-my.utf8 (found via :set runtimepath, sometimes ~/.vim but some installs/setups are different) with a

:write runtimepath/spell/en-my
:mkspell runtimepath/spell/en-my

finallly switch back to the first window CTRL-w CTRL-w and

:setlocal spell spelllang=en-my

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.