Как перейти к тегу в уже открытом файле

Я знаю, что могу перейти к тегу, сгенерированному с помощью ctags с ^] в том же файле и ^w^] в горизонтальном разделении.

Но предположим, что у меня уже есть файл, открытый в разделе или вкладке, где существует тег. Тогда как я могу переключиться на этот буфер и перейти к местоположению тега вместо открытия нового буфера?


person shyam padia    schedule 04.12.2018    source источник


Ответы (1)


На поведение варианта разделения <C-w>]<C-]> можно повлиять с помощью :help 'switchbuf'. вариант. Вы ищете useopen и, возможно, также usetab значения.

Однако вы не можете легко настроить поведение сопоставления <C-]>. Если вы действительно хотите, чтобы он открывал внешние теги в том же окне, но повторно использовал текущее окно, если это местоположение тега еще не открыто, вы должны написать сопоставление оболочки вокруг него.

Один из подходов состоит в том, чтобы сначала выполнить раздельный переход, проверить, увеличилось ли количество окон (поэтому ни одно из существующих окон не было повторно использовано из-за 'switchbuf'), и в этом случае удалить добавленное окно, вернуться к исходному и выполнить прыжок без разделения вместо этого.

person Ingo Karkat    schedule 11.12.2018