1

I have a file en.utf-8.add in the folder of a file being edited by Vim. I issue :mkspell! en.utf-8.add to create a new en.utf-8.add.spl. In the edited document, the word int is not flagged as a spelling error. I also have a ~/.vim/spell/en.utf-8.add and a corresponding en.utf-8.add.spl with the same date/time, but the en.utf-8.add also does not contain the word int.

Why is int considered correct? What else can I examine to track down the reason?

I have fileencoding=utf-8 and spellfile=en.utf-8.add. I confirmed that the latter takes effect by removing some words and seeing them flagged after the mkspell! en.utf-8.add command. Of course, I add the words back.

Results of :version command:

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Mar 30 2020 21:51:17) Included patches: 1-486 Modified by <[email protected]> Compiled by <[email protected]> Huge version with GTK3 GUI. Features included (+) or not (-): +acl -farsi -mouse_sysmouse -tag_old_static +arabic +file_in_path +mouse_urxvt -tag_any_white +autocmd +find_in_path +mouse_xterm -tcl +autochdir +float +multi_byte +termguicolors -autoservername +folding +multi_lang +terminal +balloon_eval -footer -mzscheme +terminfo +balloon_eval_term +fork() +netbeans_intg +termresponse +browse +gettext +num64 +textobjects ++builtin_terms -hangul_input +packages +textprop +byte_offset +iconv +path_extra +timers +channel +insert_expand +perl/dyn +title +cindent +job +persistent_undo +toolbar +clientserver +jumplist +popupwin +user_commands +clipboard +keymap +postscript +vartabs +cmdline_compl +lambda +printer +vertsplit +cmdline_hist +langmap +profile +virtualedit +cmdline_info +libcall +python/dyn +visual +comments +linebreak +python3/dyn +visualextra +conceal +lispindent +quickfix +viminfo +cryptv +listcmds +reltime +vreplace +cscope +localmap +rightleft +wildignore +cursorbind +lua/dyn +ruby/dyn +wildmenu +cursorshape +menu +scrollbind +windows +dialog_con_gui +mksession +signs +writebackup +diff +modify_fname +smartindent +X11 +digraphs +mouse +sound -xfontset +dnd +mouseshape +spell +xim -ebcdic +mouse_dec +startuptime +xpm +emacs_tags -mouse_gpm +statusline +xsmp_interact +eval -mouse_jsbterm -sun_workshop +xterm_clipboard +ex_extra +mouse_netterm +syntax -xterm_save +extra_search +mouse_sgr +tag_binary system vimrc file: "/etc/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "/etc/gvimrc" user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc" defaults file: "$VIMRUNTIME/defaults.vim" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/etc" f-b for $VIMRUNTIME: "/usr/share/vim/vim82" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -D_REENTRANT -ggdb -O2 -pipe -Wall -Werror=format-security -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/usr/src/ports/vim/vim-8.2.0486-1.x86_64/build=/usr/src/debug/vim-8.2.0486-1 -fdebug-prefix-map=/usr/src/ports/vim/vim-8.2.0486-1.x86_64/src/vim-8.2.0486=/usr/src/debug/vim-8.2.0486-1 -fstack-protector-strong -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L. -fstack-protector-strong -L/usr/local/lib -Wl,--as-needed -o vim.exe -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncursesw -lcanberra -liconv -lacl -lattr -lintl -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong -L/usr/lib/perl5/5.30/x86_64-cygwin-threads/CORE -lperl -lpthread -ldl -lcrypt 

1 Answer 1

3

According to a few dictionaries I checked, int is an abbreviation for numerous words such as international and internal. vim considers it "local" or "regional."

For me, int is in the main vim listed by :spellinfo;

file: `/usr/share/vim/vim82/spell/en.utf-8.spl` 

You can see this using :spelldump which says int/13, meaning it is considered valid in the US and Canada.

If you want it to mark this as a wrong word, just use zw on top of the word.

3
  • 2
    Egad. Those two commands are so useful. :spelldump shows int/13. The help for spell-wordlist-format provides the example that blah/12 is for regions us and ca, but it isn't clear where the enumerations are defined. Ah well, I'm miles ahead of where I was. Thanks! Commented Nov 27, 2020 at 1:51
  • 1
    The regions mapping is listed at the top of spelldump; /regions=usaucagbnz (every 2 letters map to numbers 1-5) which means this word is considered good for us and ca. If you were to set your region otherwise, via e.g., set spelllang=en_nz then this word would be highlighted for being "local." Commented Nov 27, 2020 at 2:03
  • Thanks again, Mass. This has been a good reminder that there is a lot of sophistication behind the scenes to make Vim so useful. There's no free lunch, but in this case, it's worth the price. Commented Nov 27, 2020 at 3:56

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.