как перемещаться по открытым файлам в vim? - PullRequest
2 голосов
/ 30 марта 2012

Я открыл файлы в vim, используя

гс

command.which открыл файл, текущая позиция курсора.

Я использовал

ctrl + ^

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

Ответы [ 4 ]

4 голосов
/ 30 марта 2012

:bn & :bp для циклических буферов

Для циклического изменения окон я использую ctrl+w+w

Для циклического открытия открытого файла :next & :prev

Чтобы вывести список открытых буферов: :ls

из старого доброго vi :e# повторно открывает предыдущий файл ^^ (не использует его с давних времен ... хорошо, поскольку VIM приходит в мои системы ^^)

РЕДАКТИРОВАТЬ: быстрый тест на gvim в windows (установить nocp)

map <C-tab> ^[:bn^M

, чтобы ввести escape (^ [) и enter (^ M), вы должны нажать ctrl + v, а затем специальный символ

РЕДАКТИРОВАТЬ 2: более чистый способ сделать это - поместить это в .vimrc

map <C-tab> <esc>:bn<cr>

, но просто помните, что использование мнемоники для клавиш зависит от некоторых других параметров (я не могу вспомнить, какой из них).

Наилучшим способом является IMHO написать функцию VIM, сохраняющую текущий режим, выполняющую переключение и затем восстанавливающую его, а затем отображающую его в каждом режиме (: [xxx] команды сопоставления)

1 голос
/ 31 марта 2012

В качестве альтернативы вы можете захотеть проверить любой из плагинов, пытающихся упростить навигацию по буферу

Я сам уменьшил его до <leader>bx, x - номер буфера.Выбор буфера осуществляется с помощью красивого всплывающего списка внизу.

Чтобы получить такое поведение, вы сначала должны установить LustyJuggler (https://github.com/vim-scripts/LustyJuggler), а затем настроить ярлык, как это делается в вашем vimrcfile:

nmap <leader>b :LustyJuggler<CR>

Обратите внимание, что это отображение работает только в обычном режиме.

1 голос
/ 30 марта 2012

:next к следующему файлу :prev к предыдущему файлу

0 голосов
/ 17 февраля 2017

Вы также можете назначить клавишу TAB для быстрого переключения между открытыми буферами.

Добавьте в файл vimrc следующее:

:nnoremap <Tab> :bnext<CR>
:nnoremap <S-Tab> :bprevious<CR>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...