Когда я пишу текст на немецком языке, содержащий что-то вроде, abücd
например, и dw
впереди, он удаляет только тот, ab
который не интерпретируется ü
как символ слова.
Когда я редактирую reStructuredText, у меня есть
iskeyword=38,42,43,45,47-58,60-62,64-90,97-122,_
Это объясняет, почему умлауты не помечены, но я не понимаю, откуда это взялось. Когда я просто открываю gVim это установлено
iskeyword=@,48-57,_,192-255
Откуда это может исходить?
set encoding=utf-8
в свой.vimrc
..vim/vimrc
и:set enc?
дает мнеutf-8
. То же самое сfenc
. Тем не менее это не работает.:set iskeyword&
это доü
сих пор не признана как часть слова?set iskeyword
). Это должно быть что-то вроде"@,48-57,_,128-167,224-235"
или"@,48-57,_,192-255"
. Вы используете Vim или Vi? (значение по умолчанию в Vi ("@,48-57,_"
) не распознает ü; значение по умолчанию в Vim отлично)iskeyword=@,48-57,_,192-255
. Теперь он волшебно работает в новом экземпляре Vim. Это странно, я должен соблюдать это более тщательно.Ответы:
Символ включает
@
вiskeyword
себя все символы, для которыхisalpha()
(функция C) TRUE; в современных (последние 20 лет) реализациях libc это также ищет символы юникода.Ваш второй
iskeyword
использует97-122
(az) и64-90
(AZ), который не включает в себя все варианты с различными диакритическими знаками (такими как умлаут / диарез / трема).Таким образом, решение заключается в замене
97-122
и64-90
с@
.Этот фанк
iskeyword
происходит из файла синтаксиса LISP;rst
файл синтаксис включает в себя кучу других файлов синтаксис для выделения кодовых блоков.К счастью, вы можете указать, какие языки включать в
g:rst_syntax_code_list
переменную. По умолчанию это:Поскольку маловероятно, что вам потребуется подсветка синтаксиса LISP в файле reStructuredText, вы, вероятно, можете просто удалить его. Просто добавьте его в любое место файла vimrc, если он определен, файл синтаксиса будет использовать это значение вместо определения своего собственного.
На мой взгляд, вы, вероятно, хотите использовать:
Потому что, кто знает, какие фанки побочные эффекты вызывают другие файлы синтаксиса ...
источник
@
буквенно-цифровых символов был действительно полезным.Если вы, например, добавляете грамматики из других языков в, например, файлы уценки, то настройки этих языков переопределяют настройки синтаксиса уценки. Можно проверить, так ли это, используя:
Чтобы это исправить, можно определить команду auto, которая будет запускаться каждый раз при входе в файл уценки (и, возможно, также на другие языки):
Помещение этого в мое
.vimrc
исправило проблему для меня. Я используюvim-pandoc
синтаксис и встраиваемые языки , включаяracket
,python
,sh
и некоторые из них . Я думаю, что нет необходимости определять автоматическую команду для выхода из файлов уценки, потому что, когда вы вводите файлы других языков, их синтаксические файлы должны устанавливать свои ключевые слова, если я правильно понимаю.источник