{{Laracast Vim Mastery, 5, Optimizing Window Splits, 29.01.2015, 19.05.2016, https://laracasts.com/series/vim-mastery/episodes/5}} (0:00) Одна из замечательных возможностей в Vim - это то, что у вас может быть любое количество разбиений окна. И, когда я говорю про "сплит", то имею ввиду это. Это то, что мы называем горизонтальным разбиением. Я могу сделать вертикальное разбиение аналогично. Или я могу создать любое количество разбиений. Давайте создадим горизонтальное разбиение тут, вертикальное здесь и еще одно здесь. Конечно, здесь это безумие. Но, на самом деле, на больших мониторах, эта функция может быть довольно удобна. Для скринкаста я обычно не делаю этого, просто потому, что у меня нет достаточного количества свободного места на экране. (0:30) В любом случае, чтобы удалить разбиение, я могу нажать Ctrl+Q. Простите, %%(t):q%%. Давайте рассмотрим это подробнее. Мы создаем разбиение, командой %%(t):sp%%, "sp" означает "split". По умолчанию это горизонтальное разбиение. Теперь каждое из них является независимым. Вы можете держать перед глазами два разных файла. И вы можете даже переключаться между ними. По умолчанию комбинация клавиш для переключения между окнами слишком длинная. Исправим это позднее, а пока (это комбинация по умолчанию) - это Ctrl+W с одной из следующих букв - H, J, K или L. (1:00) Если я хочу перейти вниз, я могу нажать Ctrl+W,J. И теперь я внизу. Чтобы вернуться наверх, нажмем Ctrl+W,K. Или, на самом деле, мы даже можем переключаться между ними с помощью Ctrl+W,W. Вот так. Теперь мы выйдем отсюда... Создадим вертикальное разбиение - набрав не %%(t):sp%%, а, раз теперь я хочу вертикальное, то %%(t):vsp%%. Вот, и тоже самое - Ctrl+W,W, чтобы переключится между ними. Или Ctrl+W,L и Ctrl+W,H. (1:30) А теперь, как насчет того, чтобы исправить эти комбинации. Было бы хорошо, если бы в этом примере я просто мог нажать Ctrl+L и переключился бы вправо. Или, нажав сразу на Ctrl+H, переключился бы влево. Мне не нужно добавлять Ctrl+W к этому. Итак, мы собираемся это исправить. Ctrl+E,V открывает наш файл %%(t)vimrc%%. Ну, давайте приведем это в порядок. (2:00) Тут будет новый блок для %%(t)Split Management%%. Давайте зададим новую комбинацию клавиш для использования в нормальном режиме ("nmap" - "normal mapping"). И скажем, что когда я нажму Ctrl+J, мы хотим, чтобы это заменялось на Ctrl+W с Ctrl+J. Дальше я сделаю тоже самое для каждой следующей комбинации. Ну, для примера, Ctrl+K должна заменять Ctrl+W и Ctrl+K. Далее тоже самое для H и L. H - для левого переключения, L для правого. (2:30) Хорошо, теперь сохраним это и попробуем снова. Давайте вернемся к файлу %%(t)routes.php%%. Я создам разбиение. Вертикальное в этом случае. И сейчас, если я нажму Ctrl+L, я здесь. А если Ctrl+H, то вернулся сюда. Это то, что я имел ввиду, сказав "настройте Vim под себя". Если что-то выглядит громоздко для вас или вам не нравится способ достижения этого - просто настройте. Вам не обязательно пользоваться настройками по умолчанию. Настройте все под себя. Сейчас я добавлю ещё две другие вещи. (3:00) %%(t)set splitbelow%% и %%(t)set splitright%%. Это обеспечит то, что когда вы создаёте разбиение, оно будет помещено всегда ниже текущего и справа. Итак, по умолчанию Vim создает окно выше текущего, если вы делаете горизонтальное разбиение. Но, если вертикальное, он поместит новое окно слева. Это не подходит мне. Я хочу ниже. И я хочу, чтобы вертикальное разбиение происходило справа. Итак, я выполню это. Сохраняю файл... (3:30) Да, табы в MacVim действительно раздражают. Вам может захотеться выключить их вовсе. В любом случае, допустим, вы работаете... Я лично предпочитаю вертикальное разбиение. Опять же, для скринкаста это не подходит, но на вашем мониторе это наверняка выглядит отлично. Итак, теперь я могу продолжать работать. Я могу править любой файл, какой захочу. Если я захочу вернуться в предыдущий буфер, кстати, я могу ввести %%(t)bp%%, т.е. "buffer, previous". Или для этой цели вы можете использовать %%(t):ls%%, и это покажет все текущие буферы. (4:00) К примеру, если я хочу перейти к третьему буферу, я ввожу %%(t):b3%% и теперь я тут. Буфер 1, буфер 2, буфер 3. Теперь, как быть в случае, когда у вас не так много места на экране, но вы работаете с разбиениями окон? Вот небольшая уловка, которую вы можете применить. Если вы нажмёте Ctrl+W и | (это клавиша прямо под клавишей %%(t)Delete%%, нужно нажимать %%(t)\%% и Shift), вы увидите, что окно увеличится, чтобы занять всю площадь. И прямо слева вы можете видеть другое окно. (4:30) Если вы нажмёте Ctrl+H, чтобы переключить активное окно, а затем ту же комбинацию Ctrl+W,|, то теперь уже это окно развернуто на весь экран. И, конечно, вы можете нажать Ctrl+W,=, чтобы сделать их одинаковыми. Вам не нужно запоминать это, но если вам нравится этот механизм, вы можете его использовать. Еще раз: Ctrl+W,| - чтобы развернуть, Ctrl+W= - чтобы сделать одинаковыми. И наконец %%(t):q%% - чтобы закрыть любое из открытых окон.