В конечном итоге я только что решил ignorecase
. У меня есть это в моем vimrc:
autocmd BufEnter * setlocal noignorecase
autocmd BufEnter *.{dsl-a,dsl-b*} setlocal ignorecase
Раздражает, но проблема решена; Я надеялся, что Vim заметит заголовок в файле тегов:
!_TAG_FILE_SORTED 2 /0=unsorted, 1=sorted, 2=foldcase/
Увы, похоже, что нет.
На днях я столкнулся с проблемой, которая содержит дополнительную документацию для масс; некоторые из тегов, которые я искал, не были найдены, но когда я посмотрел в файле тегов, они были там. Затем я заметил, что над элементом, который пропускался, были строки, которые имели те же главные символы, но затем подчеркивание; Я понял, что подчеркивание сортировало перед буквами, и подумал, могло ли это быть проблемой (подчеркивание - это один из шести символов, которые появляются между заглавными буквами Z и строчными буквами A, но единственный, допустимый в идентификаторе, совместимом с C). *
Для хихиканья я вручную прибегнул к оскорбительной части, чтобы после букв появилось подчеркивание. Я даже разработал минимальный тестовый пример и написал большой отчет об ошибках для bugs @ vim, а затем решил заглянуть в документацию по тегам, чтобы «привести соответствующую ссылку». Там он был похоронен ближе к концу :help tagbsearch
, т. Е. Малопригоден для тех из нас, кто хронически больной.
Обратите внимание, что регистр должен быть сложен в верхний регистр, чтобы это работало.
Изменение в одну строку моего скрипта Python исправило мой файл тегов:
if casefold:
tags.sort(key=str.upper) # tag file requires case folding to be folded to upper case
else:
tags.sort()