Как открыть файлы в вертикально / горизонтально разделенных окнах в 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) , чтобы перейти к окну соседнего (интуитивно вверх, вниз, влево, вправо)


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

1

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

vim -p file*

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


12
Это связано не с самим Vim, а с используемой оболочкой. Это оболочка, которая расширяет сферы.
Казарк
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.