The @
character in iskeyword
includes all characters for which isalpha()
(C function) is TRUE; in modern (last 20 years) libc implementations this also looks for unicode characters.
Your second iskeyword
uses 97-122
(a-z) and 64-90
(A-Z), which doesn't include all the variants with the various diacritics (such as the umlaut/diaeresis/trema).
So the solution is to replace 97-122
and 64-90
with @
.
This funky iskeyword
comes from the LISP syntax file; the rst
syntax file includes a bunch of other syntax files for highlighting the code blocks.
Luckily you can set which languages to include with the g:rst_syntax_code_list
variable. The default is:
let g:rst_syntax_code_list = ['vim', 'java', 'cpp', 'lisp', 'php', 'python', 'perl']
Since it's unlikely that you need LISP syntax highlighting in your reStructuredText file, you can probably just remove it. Just add it anywhere in your vimrc file, if it's defined, the syntax file will use that value instead of defining its own.
In my opinion, you probably want to use:
let g:rst_syntax_code_list = []
Because who knows what funky side-effects the other syntax files cause...
set encoding=utf-8
in your.vimrc
..vim/vimrc
and:set enc?
gives meutf-8
. Same withfenc
. Still it does not work.:set iskeyword&
isü
still not recognized as a part of a word?set iskeyword
). It should be something like"@,48-57,_,128-167,224-235"
or"@,48-57,_,192-255"
. Are you using Vim or Vi ? (the default value in Vi ("@,48-57,_"
) does not recognize ü; the default value in Vim is fine)iskeyword=@,48-57,_,192-255
. It magically works in a fresh Vim instance now. That is strange, I have to observe that more carefully.