Как вы возвращаетесь из "gf" в Vim

Я использую Vim для окон, установленных в режиме Unix. Благодаря этому сайту я теперь использую команду gf, чтобы перейти к файлу под курсором.

Я ищу команду для:

  • вернуться к предыдущему файлу (аналогично до Ctrl + T для ctags) или
  • remap gf для автоматического запуска нового файла в новом окне.

Ответ 1

Я использую Ctrl - O

Ответ 2

Я часто использую Ctrl - 6 для этого.

Это удобно, потому что позволяет мне быстро перемещаться между двумя файлами.

Ответ 3

Вы можете использовать CTRL-W gf, чтобы открыть файл на новой вкладке.

Вы можете закрыть вновь открытый файл, как всегда, с помощью :bd или использовать CTRL-6 и другие обычные способы изменения буферов.

Ответ 4

Используйте gf для спуска в файл и используйте: bf для возврата

Ответ 5

Просто используйте :e#, за которым следует Enter - в основном говорится, чтобы отредактировать последний (последний) файл.

Ответ 6

Ctrl-Shift-6 - это один.

:e#↲ является другим.

Ответ 7

Я не знаю ответа на часть 2 вашего вопроса, но я могу помочь с частью 1. Используйте

:e#

Vim поддерживает список файлов (буферов), которые он редактирует. Если вы наберете

:buffers

он отобразит все файлы, которые вы сейчас редактируете. Файл в этом списке с% рядом с ним - это текущий файл. Один С# рядом с ним является альтернативным файлом.: e # будет переключаться между текущим и альтернативным файлом. Вместо того, чтобы печатать так много, я сопоставляю F2 с: e #, поэтому я могу легко переключаться между текущими и альтернативными файлами. Я сопоставляю команду с F2, добавляя это в .vimrc

nmap `<F2> :e#<CR>`

Ответ 8

Я получил CTRL-W f для работы.
Это довольно удручающе, что я провел так долго, совершенствуя карты для этих команд, только чтобы обнаружить, что есть встроенные версии.

Ответ 10

Когда вы открываете новый файл (с помощью gf или: n или другой команды), старый файл остается в списке буферов. Вы можете просмотреть открытые файлы с помощью: ls

Если вы хотите легко перемещаться между буферами в vim, вы можете создать сопоставление следующим образом:

nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>

Теперь вы можете переключаться между буферами с помощью Alt + стрелка влево или Alt + стрелка вправо.

Полная документация по сопоставлениям находится здесь:

:help map.txt

Ответ 11

Я не смотрел вашу команду gf, но я полагаю, что она использует команду : e или : найти.
Предполагая, что это правильно, просто замените : e или : найдите с помощью : new (или : vnew для вертикальный сплит), и файл будет открыт в новом окне вместо одного и того же.

например.

"Switch between header and cpp
nmap ,s :find %:t:r.cpp<CR>
nmap ,S :new %:t:r.cpp<CR>
nmap ,h :find %:t:r.h<CR>
nmap ,H :new %:t:r.h<CR>
nmap ,F :new =expand("<cfile>:t")<CR><CR>
nmap ,d :new =expand("<cfile>")<CR><CR>