6

У меня есть ctags, настроенные с моей установкой vim. Моя привычка состоит в том, чтобы обычно все соответствующие файлы, над которыми я работаю, открывались сразу на вкладках в vim. Проблема заключается в том, что если я использую Ctrl+] для перехода к ctag в редактируемом файле, он заменит буфер на этой вкладке, даже если у меня уже есть другая открытая вкладка с этим символом. Было бы намного лучше, если бы он просто переключился на эту вкладку и вместо этого переключился на символ. Таким образом, у меня всегда будет соотношение вкладок к файлам 1: 1.

Я заметил в Changenotes для плагина taglist.vim (который я также использую) есть запись, которая говорит

1. Added support for jumping to a tag/file in a new or existing tab 
   from the taglist window (works only with Vim7 and above). 

Тем не менее, я не смог найти ничего в документации для Taglist (или Ctags) о том, как на самом деле это сделать.

Может ли какой-нибудь гуру Вим заполнить меня? Спасибо!

1 ответ1

2

Вы можете сделать это с помощью :tab tag NAME_OF_TAG , но это ни к чему не привязано. Вы можете переназначить <Ctrl-]> чтобы сделать это следующим образом в вашем файле .vimrc:

:nmap <c-]> :tab tag <c-r><c-w><cr>

<c-r><c-w> захватит слово под курсором, а <cr> - последний ввод / возврат каретки для запуска команды.

РЕДАКТИРОВАТЬ: о нет, я перечитал вопрос. Это будет открывать новую вкладку каждый раз, что сосет!

Согласно странице справки taglist:

В следующей таблице приведено описание ключей, которые можно использовать в окне taglist.

t Перейти к тегу в новой вкладке. Если файл уже открыт на вкладке, перейдите на эту вкладку.

И действительно, нажатие кнопки t на панели тегов делает это, но это означает, что вам уже нужно было видеть тег на панели тегов. И это тоже немного отстойно ...

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