Ответ 1
Я использую Ctrl - O
Я использую Vim для окон, установленных в режиме Unix. Благодаря этому сайту я теперь использую команду gf
, чтобы перейти к файлу под курсором.
Я ищу команду для:
gf
для автоматического запуска нового файла
в новом окне.Я использую Ctrl - O
Я часто использую Ctrl - 6 для этого.
Это удобно, потому что позволяет мне быстро перемещаться между двумя файлами.
Вы можете использовать CTRL-W gf
, чтобы открыть файл на новой вкладке.
Вы можете закрыть вновь открытый файл, как всегда, с помощью :bd
или использовать CTRL-6
и другие обычные способы изменения буферов.
Используйте gf для спуска в файл и используйте: bf для возврата
Просто используйте :e#
, за которым следует Enter - в основном говорится, чтобы отредактировать последний (последний) файл.
Ctrl-Shift-6 - это один.
:e#↲
является другим.
Я не знаю ответа на часть 2 вашего вопроса, но я могу помочь с частью 1. Используйте
:e#
Vim поддерживает список файлов (буферов), которые он редактирует. Если вы наберете
:buffers
он отобразит все файлы, которые вы сейчас редактируете. Файл в этом списке с% рядом с ним - это текущий файл. Один С# рядом с ним является альтернативным файлом.: e # будет переключаться между текущим и альтернативным файлом. Вместо того, чтобы печатать так много, я сопоставляю F2 с: e #, поэтому я могу легко переключаться между текущими и альтернативными файлами. Я сопоставляю команду с F2, добавляя это в .vimrc
nmap `<F2> :e#<CR>`
Я получил CTRL-W f для работы.
Это довольно удручающе, что я провел так долго, совершенствуя карты для этих команд, только чтобы обнаружить, что есть встроенные версии.
Когда вы открываете новый файл (с помощью gf или: n или другой команды), старый файл остается в списке буферов. Вы можете просмотреть открытые файлы с помощью: ls
Если вы хотите легко перемещаться между буферами в vim, вы можете создать сопоставление следующим образом:
nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>
Теперь вы можете переключаться между буферами с помощью Alt + стрелка влево или Alt + стрелка вправо.
Полная документация по сопоставлениям находится здесь:
:help map.txt
Я не смотрел вашу команду 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>