Поиск…
Управление буферами
Вы можете использовать буферы для работы с несколькими файлами. Когда вы открываете файл, используя
:e path/to/file
он открывается в новом буфере (команда означает редактирование файла). Новый буфер, содержащий временную копию файла.
Вы можете перейти в предыдущий буфер с помощью :bp[rev]
и следующего буфера с помощью :bn[ext]
.
Вы можете перейти в конкретный буфер с помощью b{n}
чтобы перейти в n-й буфер. b2
переходит во второй буфер.
Использовать :ls
или :buffers
для отображения всех буферов
Скрытые буферы
Переход от буфера с несохраненными изменениями приведет к этой ошибке:
E37: No write since last change (add ! to override)
Вы можете отключить это, добавив set hidden
в ваш .vimrc-файл. С помощью этой опции ваши изменения будут сохраняться в буфере, но не будут сохранены на диске.
Переключение буфера с использованием части имени файла
Чтобы легко выбрать буфер по имени файла, вы можете использовать:
:b [part_of_filename]<Tab><Tab><Tab>...<Enter>
Первая вкладка расширит слово до полного имени файла, а последующие нажатия Tab перейдут в список возможных совпадений.
Когда доступно несколько совпадений, вы можете увидеть список совпадений перед расширением слова, установив этот параметр:
:set wildmode=longest:full:list,full
Это позволяет уточнить слово, если список совпадений слишком длинный, но для его расширения требуется дополнительное нажатие Tab . Добавьте параметр в свой $MYVIMRC
если хотите его сохранить.
Некоторым людям нравится запускать этот процесс с помощью ключевой карты, в которой сначала перечислены буферы:
:nnoremap <Leader>b :set nomore <Bar> :ls <Bar> :set more <CR>:b<Space>
Это облегчает выбор буфера по его числу:
:b [buffer_num]
Быстрое переключение на предыдущий буфер или на любой буфер по номеру
<C-^>
переключится на предыдущий отредактированный файл и обратно. На большинстве клавиатур <C-^>
есть CTRL-6.
3<C-^>
переключится на номер буфера 3. Это очень быстро, но только если вы знаете номер буфера.
Вы можете увидеть номера буфера из :ls
или из плагина, такого как MiniBufExplorer .