Вим: есть ли быстрый способ перейти от трех горизонтальных окон к одному вертикальному и двум горизонтальным?

#vim #window

Вопрос:

Предположим, у вас открыто три окна, каждое из которых содержит другой файл. Давайте назовем файлы раз, два и три. Окна расположены вертикально, вот так:

Vim с тремя вертикальными окнами

Есть ли быстрый способ перейти от трех вертикальных окон к одному вертикальному с левой стороны, а два других расположены горизонтально с правой стороны? Подобный этому:

Vim с одним вертикальным окном и двумя горизонтальными

В настоящее время я перехожу в крайнее правое окно, делаю горизонтальное разделение, явно указывая имя файла среднего буфера, затем перемещаюсь в среднее окно и выхожу. Должен быть более простой способ, верно?

Ответ №1:

сделайте горизонтальное разделение, явно указав имя файла среднего буфера

Вы можете уменьшить объем ввода с помощью :h alternate-file : если ваш буфер № 2 является альтернативным для буфера № 3, вы можете разделить Ctrl-WCtrl-Sего, а затем переключиться на альтернативный буфер Ctrl-6. И даже если это не так, вы все равно можете это сделать 2Ctrl-6(обратите внимание, что здесь 2-номер буфера, а не номер окна).

Ответ №2:

Я бы…

  1. переместите курсор в крайнее правое окно:
     <C-w>b
     
  2. закрой его:
     <C-w>q
     
  3. разделите текущее окно на буфер three :
     :sb three<CR>
     

Видишь : help ctrl-w_b , :help ctrl-w_q , :help :sbuffer .