Может войдёшь?
Черновики Написать статью Профиль

Мастерство Vim: Разбиение окна

перевод Laracasts Мастерство Vim

Это перевод видео-урока с Laracasts, серия Vim Mastery, урок №5Optimizing Window Splits от . Перевод обновлён . Опечатка? Выдели и нажми Ctrl+Enter.

(0:00)
Одна из замечательных возможностей в Vim — это то, что у вас может быть любое количество разбиений окна. И, когда я говорю про «сплит», то имею ввиду это. Это то, что мы называем горизонтальным разбиением. Я могу сделать вертикальное разбиение аналогично. Или я могу создать любое количество разбиений. Давайте создадим горизонтальное разбиение тут, вертикальное здесь и еще одно здесь. Конечно, здесь это безумие. Но, на самом деле, на больших мониторах, эта функция может быть довольно удобна. Для скринкаста я обычно не делаю этого, просто потому, что у меня нет достаточного количества свободного места на экране.

(0:30)
В любом случае, чтобы удалить разбиение, я могу нажать Ctrl+Q. Простите, :q. Давайте рассмотрим это подробнее. Мы создаем разбиение, командой :sp, «sp» означает «split». По умолчанию это горизонтальное разбиение. Теперь каждое из них является независимым. Вы можете держать перед глазами два разных файла. И вы можете даже переключаться между ними. По умолчанию комбинация клавиш для переключения между окнами слишком длинная. Исправим это позднее, а пока (это комбинация по умолчанию) — это Ctrl+W с одной из следующих букв — H, J, K или L.

(1:00)
Если я хочу перейти вниз, я могу нажать Ctrl+W,J. И теперь я внизу. Чтобы вернуться наверх, нажмем Ctrl+W,K. Или, на самом деле, мы даже можем переключаться между ними с помощью Ctrl+W,W. Вот так. Теперь мы выйдем отсюда... Создадим вертикальное разбиение — набрав не :sp, а, раз теперь я хочу вертикальное, то :vsp. Вот, и тоже самое — Ctrl+W,W, чтобы переключится между ними. Или Ctrl+W,L и Ctrl+W,H.

(1:30)
А теперь, как насчет того, чтобы исправить эти комбинации. Было бы хорошо, если бы в этом примере я просто мог нажать Ctrl+L и переключился бы вправо. Или, нажав сразу на Ctrl+H, переключился бы влево. Мне не нужно добавлять Ctrl+W к этому. Итак, мы собираемся это исправить. Ctrl+E,V открывает наш файл vimrc. Ну, давайте приведем это в порядок.

(2:00)
Тут будет новый блок для Split Management. Давайте зададим новую комбинацию клавиш для использования в нормальном режиме («nmap»«normal mapping»). И скажем, что когда я нажму Ctrl+J, мы хотим, чтобы это заменялось на Ctrl+W с Ctrl+J. Дальше я сделаю тоже самое для каждой следующей комбинации. Ну, для примера, Ctrl+K должна заменять Ctrl+W и Ctrl+K. Далее тоже самое для H и L. H — для левого переключения, L для правого.

(2:30)
Хорошо, теперь сохраним это и попробуем снова. Давайте вернемся к файлу routes.php. Я создам разбиение. Вертикальное в этом случае. И сейчас, если я нажму Ctrl+L, я здесь. А если Ctrl+H, то вернулся сюда. Это то, что я имел ввиду, сказав «настройте Vim под себя». Если что-то выглядит громоздко для вас или вам не нравится способ достижения этого — просто настройте. Вам не обязательно пользоваться настройками по умолчанию. Настройте все под себя. Сейчас я добавлю ещё две другие вещи.

(3:00)
set splitbelow и set splitright. Это обеспечит то, что когда вы создаёте разбиение, оно будет помещено всегда ниже текущего и справа. Итак, по умолчанию Vim создает окно выше текущего, если вы делаете горизонтальное разбиение. Но, если вертикальное, он поместит новое окно слева. Это не подходит мне. Я хочу ниже. И я хочу, чтобы вертикальное разбиение происходило справа. Итак, я выполню это. Сохраняю файл...

(3:30)
Да, табы в MacVim действительно раздражают. Вам может захотеться выключить их вовсе. В любом случае, допустим, вы работаете... Я лично предпочитаю вертикальное разбиение. Опять же, для скринкаста это не подходит, но на вашем мониторе это наверняка выглядит отлично. Итак, теперь я могу продолжать работать. Я могу править любой файл, какой захочу. Если я захочу вернуться в предыдущий буфер, кстати, я могу ввести bp, т.е. «buffer, previous». Или для этой цели вы можете использовать :ls, и это покажет все текущие буферы.

(4:00)
К примеру, если я хочу перейти к третьему буферу, я ввожу :b3 и теперь я тут. Буфер 1, буфер 2, буфер 3. Теперь, как быть в случае, когда у вас не так много места на экране, но вы работаете с разбиениями окон? Вот небольшая уловка, которую вы можете применить. Если вы нажмёте Ctrl+W и | (это клавиша прямо под клавишей Delete, нужно нажимать \ и Shift), вы увидите, что окно увеличится, чтобы занять всю площадь. И прямо слева вы можете видеть другое окно.

(4:30)
Если вы нажмёте Ctrl+H, чтобы переключить активное окно, а затем ту же комбинацию Ctrl+W,|, то теперь уже это окно развернуто на весь экран. И, конечно, вы можете нажать Ctrl+W,=, чтобы сделать их одинаковыми. Вам не нужно запоминать это, но если вам нравится этот механизм, вы можете его использовать. Еще раз: Ctrl+W,| — чтобы развернуть, Ctrl+W= — чтобы сделать одинаковыми. И наконец :q — чтобы закрыть любое из открытых окон.

Как вы считаете, полезен ли этот материал? Да Нет

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.