VIM: ограничить список перехода определенными командами перехода - PullRequest
0 голосов
/ 03 ноября 2018

Vim по умолчанию для списка переходов выглядит следующим образом

Следующие команды являются командами "jump": "'", "` "," G "," / ","? ", "n", "N", "%", "(", ")", "[[", "]]", "{", "}", ": s", ": tag", "L "," М ", «H» и команды, которые начинают редактирование нового файла.

Однако у меня такое ощущение, что так много команд jump заставляют jumplist содержать больше, чем у меня. Например, я использую cscope для перехода от вызова функции к реализации функции, затем в реализации я могу использовать % для перехода к соответствующим скобкам или / для поиска определенного содержимого. Однако я хочу, чтобы список переходов сохранял только историю переходов cscope, чтобы я мог легко вернуться к точке вызова.

Есть ли способ исключить определенное движение из jumplist?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Теоретически вы хотите использовать теговый стек вместо списка переходов, как предложено @Ingo Karkat. Однако я думаю, что было бы проще просто использовать [[ или [m, чтобы вернуться к определению функции, предполагая, что вы не покинули функцию. Если вы знаете, что вернетесь к нему, я бы порекомендовал открыть новое окно (например, :split или <c-w>s) или установить метку (file-) (например, mm или mM).

0 голосов
/ 05 ноября 2018

Если бы вы использовали обычный ctags вместо cscope, он будет встроен через :help tagstack; эквивалент <C-O> в списке переходов равен <C-T> в стеке тегов.

:help cscope-intro предлагает следующее:

Результаты запроса cscope становятся похожими на обычные теги, поэтому вы можете перейти к ним так же, как вы делаете с обычными тегами (Ctrl-] или: тег) а затем вернитесь назад, нажав на стек тегов с помощью Ctrl-T. (Пожалуйста, обратите внимание однако, что вы на самом деле не переходите к тегу cscope, просто выполнив Ctrl-] или: тег без повторного отображения этих команд или установки параметра .

Что, я думаю, означает, что, если вы правильно используете интерфейс cscope, <C-T> должен работать просто отлично, но для того, чтобы сделать поиск тегов более удобным, вам нужно создать свои собственные ярлыки для интерфейса cscope.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...