Переход к ранее открытому файлу в Vim
При использовании Vim я иногда хочу посмотреть определение функции или определение структуры, поэтому я буду использовать C-]
для перехода к ней. Однако есть несколько проблем, с которыми я сталкиваюсь. Во-первых, я не знаю, как легко отскочить назад. Похоже, что предыдущий файл, который я закрывал, теперь находится в новом. Есть ли способ отскочить назад или сохранить стек открытых файлов, на которые я могу вернуться или что-то еще?
Еще одна вещь, которую я заметил, когда у меня есть изменение в текущем файле, мне нужно ее сохранить, потому что, как уже упоминалось, мой текущий файл закрывается до того, как откроется следующий.
И иногда я хочу просмотреть текущий код и мой заголовок сразу. Есть ли способ открыть определение тега в расколе?
Ответы
Ответ 1
Добавить
set hidden
вам vimrc. Это позволит вам переключать файлы, не сохраняя их. Я думаю, что это один из вариантов "надо иметь".
Используйте C - o, чтобы вернуться в предыдущие местоположения, которые были автосохранены в jumplist.
:h jumplist
Ответ 2
Чтобы вернуться с C-], используйте C-T. Команда :tags
показывает текущий стек.
Установите параметр autowrite
для автоматического сохранения того, что вы делаете, прежде чем перейти к новому файлу.
Используйте C-W C-], чтобы открыть тег в новом окне.
Наконец, :help tags
- это раздел справки, который объясняет все это и многое другое.
Ответ 3
Еще одна полезная функция, которая подходит, - это заглавные метки. Эти метки не являются локальными для буфера и могут использоваться для перехода к ним из разных файлов. Если вы отметите строку как "A", используя команду mA, прежде чем начинать длинную и трудную работу над задачей, вы можете, наконец, вернуться в исходное положение, набрав "A" или "A.".
Ответ 4
Возможно, вам захочется использовать несколько расширений vim, которые делают это еще проще.
lusty-juggler и lusty-explorer
http://www.vim.org/scripts/script.php?script_id=2050
http://www.vim.org/scripts/script.php?script_id=1890
Для этого требуется, чтобы vim был построен с + ruby.
% vim --version | grep +ruby
Они очень полезны для пребывания в vim и прыжках между файлами.