Подтвердить что ты не робот

Как использовать несколько вкладок при пометке функции в Vim

Я использую ctags с моим Vim, и я сильно полагаюсь на C-] и C-T, чтобы тегировать назад и пениться между различными функциями в моем проекте.

Но если функция находится в другом файле, я бы хотел, чтобы Vim автоматически открывал ее на новой вкладке вместо текущей вкладки. Если я вытащил свой стек тегов с помощью C-T, я бы хотел, чтобы он вернулся к исходной вкладке, где я нажал C-] вместо изменения файла на текущей вкладке. Мне не нравится, чтобы один и тот же файл открывался на нескольких вкладках в Vim. Это нормальное поведение для большинства IDE, и мне интересно, есть ли способ сделать это в Vim?

4b9b3361

Ответ 1

nmap <C-Enter> <C-w><C-]><C-w>T

Помогает ли это? Вероятно, вы могли бы найти что-то подобное для обратного пути.


Ну, нам нужно решить, каково будет желаемое поведение. Мы можем вернуться к исходной вкладке (не уверенный, как, все еще исследуя), но затем приведенное выше сопоставление откроет новую вкладку в следующий раз. Таким образом, через некоторое время вы получите много вкладок.

Или мы можем сделать <C-w>C, который закроет открытую вкладку и вернет нас к исходной. Я лично предпочитаю этот способ работы (таким образом, я не теряю свою позицию в файле) Я перехожу к функции, которую хочу, внеся свои исправления, а затем вернусь к исходному файлу, с которого я начал. Дайте мне знать, что бы вы хотели (это не соответствовало комментариям, поэтому я поставил здесь ответ).

Ответ 3

Итак, это функция, которую я тоже хотел бы видеть.

Я не уверен, возможно ли это.

То, что я обычно делаю, это

: tabnew : tag somepartsoffunction *

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

Конечно, это не идеальное решение, но оно работает большую часть времени.

К сожалению, с VIM tabbing не полностью интегрирован, так как это новая функция с 7.0. Большинство людей, которых я знаю, используют VIM, даже не подозревая о вкладах, пока я им не сказал, поэтому я чувствую, что сейчас нет способа сделать это.

(Я хотел бы, чтобы меня доказали неправильно)