Вопрос

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

Я ищу команду либо для того, либо для другого:

  1. возврат к предыдущему файлу (аналог к Ctrl+T для ctags), или
  2. переназначение gf для автоматического запуска нового файла в новом окне.
Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

:e#↲ это другое.

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

:e#

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

:buffers

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

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

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

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

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

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

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

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

:help map.txt

Я еще не смотрел на твой гф команда, но я предполагаю, что она использует :e или :найти команда.
Предполагая, что это правильно, просто замените :e или :найти с :новый (или :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> 

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top