Как выполнить поиск по искаженным символам с помощью Ctags в Vim?

#vim #ctags #name-mangling

#vim #ctags #искажение имени

Вопрос:

Я работаю над большими смешанными проектами на C / Asm, и у меня есть много переменных и символов, которые искажены на стороне ASM. Итак, в Vim я не могу просто выполнить поиск <C-]> на _foo , потому что Ctags не могут связать его с foo в пространстве имен C.

Как я могу указать Vim или Ctags расширить поиск по искаженным символам?

Ответ №1:

Vim по умолчанию выполняет поиск по целому слову, но вы можете заставить его выполнять поиск по регулярному выражению, добавив к имени вашего тега косую черту:

 :tag /foo
  

К сожалению, нет возможности изменить это поведение или альтернативы «регулярному выражению» <C-]> , но вы можете создать его довольно легко:

 nnoremap <key> :tjump /<C-r><C-w><CR>
  

ПРИМЕЧАНИЕ: Я использовал :tjump , потому что считаю это более полезным, чем :tag . YMMV.