Как открыть файлы в вертикально / горизонтально разделенных окнах в Vim из командной строки

397

Должен быть способ, что-то вроде этого:

vim -[option] <file-list>

открывать файлы из командной строки, а не из Vim.

  • разделить окна по вертикали и / или по горизонтали
  • в отдельных вкладках
Андрей Чикатило
источник

Ответы:

386

Я предполагаю, что вы имеете в виду из командной строки. От vim --help:

-o[N]                Open N windows (default: one for each file)
-O[N]                Like -o but split vertically

Поэтому введите это, чтобы открыть файлы, разделенные по горизонтали, например:

vim -o file1.txt file2.txt file3.txt
Лоуренс Гонсалвес
источник
14
В самом деле? Мне никогда не приходилось предоставлять Н.
Каскабель
3
Действительно, кажется, что-то в моем .vimrc вызывает проблемы. Если я отодвину его в сторону, -o без N будет работать как описано
Лоуренс Гонсалвес
22
-oэто как :split, -Oэто как:vsplit
Евгений Сергеев
@Cascabel -whatever[N]означает, что Nэто необязательно и может быть опущено, я полагаю, это происходит из стандартного синтаксиса
ebnf
@ user3338098 Я думаю, что здесь, возможно, был удален комментарий; Комментарий Лоуренса «Действительно ...» подразумевает, что он вызывает проблемы, когда его опускают.
Каскабель
439

Ctrl+ W, S(верхний регистр) для горизонтального разделения

Ctrl+ W, v(нижний регистр) для вертикального разделения

Ctrl+ W, Qчтобы закрыть

Ctrl+ W, Ctrl+ Wдля переключения между окнами

Ctrl+ W, J(Исключающее K, H, L) , чтобы перейти к окну соседнего (интуитивно вверх, вниз, влево, вправо)

LB40
источник
10
Для переключения экранов нажмите Ctrl-wи затем up arrowили down arrowдля переключения экранов.
Эрик Лещинский
7
@EricLeschinski, я предпочитаю ctrl+w ctrl+wпереключаться между окнами, так как клавиши со стрелками чувствуют себя немного анти-ви
Лукас
6
Ах, но вы можете использовать обычные движения vim, например, ctrl+w jчтобы перейти к буферу ниже текущего.
митжак
4
:qтакже закрывает окно
Александр Бурлье
1
Ctrl + w для переключения окон не работает на Mac-терминале. Ctrl + W, W, хотя
slashdottir
323

Пока работает vim:

  1. :sp filename для горизонтального раскола
  2. :vsp filenameили :vs filenameдля вертикального раскола
Тейлор Лиз
источник
61
Это не отвечает на поставленный вопрос ... но это, конечно, помогло мне: D Спасибо!
Авель
1
Большое спасибо за это. Это именно то, что мне нужно!
mapcuk
7
спасибо, именно то, что я искал. Я также:set splitright
Зак
4
Ctrl-WW для переключения между разделениями
Nerrve
:vsplit filenameэто то же самое, что :vsp filenameи :vs filename, но, возможно, немного легче запомнить для некоторых людей
b_dev
21

Другой интересный трюк - это аргумент CLI -p, который открывает их в отдельных вкладках для последних версий vim и gvim.

gvim -p file1.txt file2.txt
DLS
источник
1

Еще одна полезная уловка, которую я только что обнаружил, заключается в том, что вы можете использовать подстановочные знаки в списке файлов для открытия нескольких файлов. Допустим, вы хотите открыть file1.txt, file2.txt и file3.txt на отдельных вкладках, но не хотите вводить все, что вы можете просто сделать:

vim -p file*

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

казарка
источник
12
Это связано не с самим Vim, а с используемой оболочкой. Это оболочка, которая расширяет сферы.
Казарк