2

Я попытался сгенерировать файл тега с помощью:

ctags -R * −−java−kinds=+mc

Но когда найдено более одного совпадения, ctrl+] всегда переходит к неверному определению метода в другом классе.

Я знаю, что могу использовать:tjump, чтобы выбрать, если есть несколько вариантов. Но я надеюсь, что есть лучшее решение (если есть)?

2 ответа2

7

В таких случаях я бы рекомендовал использовать g CTRL-] вместо CTRL-] . Например :tjump , здесь будут перечислены все доступные совпадения тегов, и вы получите запрос вместо перехода к первому.

Чтобы сделать это по умолчанию, вы можете использовать это отображение:

:nnoremap <C-]> g<C-]>
0

Ни ctags, ни vim не имеют возможности угадать, что это за правильный тег, и нет ничего другого, кроме :tjump или :tselect . :tag имеет механизм приоритетов, о котором вы можете прочитать в документе, но он все еще довольно тупой.

Cscope немного умнее, но не намного.

Учитывая эту ситуацию, перечисление возможных целей для вас является единственным разумным и практичным подходом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .