среда, 27 июня 2012 г.

Постигаем Vim - буферы

Итак, Vim мощный текстовый редактор, но он специфический, сложный и не сразу понятный.  Одну такую сложность у меня вызывает работа с буферами. Это очень полезная возможность нашего любимого текстового редактора. Функционал и всевозможные комбинации поражают своей обширностью.

В начале моего знакомства с вимом меня пугало, когда окно делилось на две части (а то и три-четыре). Я не знал, что с этим делать, как закрыть или хотя бы скрыть не нужные окна. Решал я это очень не рационально - закрывал вим полностью и открывал нужный файл снова. Но сейчас я стал очень ленивым и место того, что бы так тратить свое время я решил ознакомиться с буферами. И стало все предельно понятно.

Итак, начнем наше знакомство с этой возможностью.
Если нам нужно работать с двумя (тремя и тд) файлами открыв их одновременно, то мы можем это сделать вот так:
1. vim -o <somefile> <somefile2> - запустится Vim и мы увидим два окна, разбитых по горизонтали с нашими файлами.
2. vim-O <somefile><somefile2> - тоже что и первое, только разбивка окон будет по вертикали.

Если мы уже работаем с одним файлом и нам нужно открыть другой файл, то мы можем это сделать вот так:
1. :sp <somefile> откроет указанный файл и разделит окно по горизонтали.
2. :vsp <somefile> откроет указанный файл и разделит окно по вертикали.

Если один буфер у нас активный, а остальные скрытые, то просмотреть весь список мы можем вот так: :ls и :buffers.


Перемещаться между буферами мы можем вот так:
:bn - следующий буфер
:bp - предыдущий буфер
:b <имя буфера> или его номер - перемещаемся к нужному буферу по имени или по его числовому номеру, который мы видели после выполнения команд :ls и :buffers.


Так же перемещение между буферами можно осуществлять по нажатию комбинации клавиш Ctrl+^.

Вот еще несколько полезных комбинаций для работы с окнами:
Ctrl w o - развернет текущее окно.
Ctrl w c - закроет окно
Ctrl w s - развернет текущее окно по горизонтали
Ctrl w s - развернет текущее окно по вертикали.


Для того, что бы удалить текущий буфер наберите :bd. А если вы наберет :bd <имя буфера> или номер буфера, то он удалится.


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


Комментариев нет:

Отправить комментарий