Wednesday, January 26, 2011

Работа с буферами и вкладками в Vim

Буфер в vim - это окно (сеанс) редактирования файла, одновременно их может быть более одного. Можно воспринимать их как табы, но без полоски в верхней части экрана (по сути, так и есть, но не совсем).

Итак, основные команды для работы с буферами:
:ls или  :buffers - просмотр открытых буферов
:e[dit] file- открыть файл file в новом буфере
:bn[ext] - переход в следующий буфер
:bp[revious] - переход в предыдущий буфер
:b# - переход в буфер #, где # - номер из списка буферов
:bd - удалить текущий буфер (если буфер единственный, то vim закроется)
:bmod - переход к следующему несохраненному буферу

какое-то время удобным вариантом для меня было забиндить показ списка буферов и переключение между соседними на функциональные клавиши, например:
nmap <F5> :ls<CR>
nmap <F7> :bn<CR>
nmap <F8> :bp<CR>

Аналогичный список команд для работы с вкладками у меня такой:
:tabs - список открытых вкладок
:tabnew [filename] - открыть новую вкладку
:gt или :tabn[ext] - перейти в следующую вкладку
::gT или tabp[revious] - перейти в предыдущую вкладку
:tabfir[st] - перейти в первую вкладку
:tablast - перейти в последнюю вкладку
:tabdo command - выполнить команду command для всех вкладок
:tabm[ove] # - переместить вкладку на позицию # (отсчет - от нуля)

P.S.:
vim -p file1.txt foo.py - откроет vim с двумя вкладками

Labels:

Интересно неожиданно обнаружить, что почти 5 лет назад заводил блог. И даже несколько раз в него писал. Удивительное рядом. Блоггер умер, да здравствует блоггер.
P.S. Еле восстановил доступ.