Окно Vim Split при открытии нескольких файлов - PullRequest
2 голосов
/ 15 сентября 2011

Я хотел бы поместить что-то в мой vimrc, чтобы, если я открою 2 файла, они автоматически открылись в отдельных разделенных окнах.Я не хочу начинать его с -o, потому что иногда я открываю много файлов одновременно, и 15+ разбиений не очень хорошо работают.поэтому я хотел бы иметь некоторую логику, которая проверяет, сколько файлов было открыто, и если это 2, поместить каждый в свое собственное разделенное окно.

Спасибо

PS Я, скорее всего, буду использовать это чаще всегодля просмотра файлов .cc и .hh проекта c ++.

Ответы [ 4 ]

10 голосов
/ 15 сентября 2011

Самый простой способ - добавить

if argc() == 2
  silent all
endif

на ваш .vimrc.

4 голосов
/ 16 июня 2012

Я выполняю то же самое, только из командной строки, добавляя в свою команду vim -c 'split | bn'.Я могу открыть столько файлов, сколько мне нравится, в одной команде;-c говорит ему выполнить команду, затем в одинарных кавычках 'split | bn' говорит vim разделить окно, а затем переключиться на следующий буфер.Поэтому, если я наберу, например:

gvim foo1.cpp foo2.cpp foo3.cpp foo4.cpp -c 'split | bn'

, то gvim откроется с первыми двумя файлами, foo1.cpp и foo2.cpp, в разделенных окнах.Мне нравится этот способ, потому что мне не нужно изменять мой .vimrc (чтобы я мог использовать его на любом компьютере), и он все еще достаточно краток для командной строки.

Примечание: я только протестировалэто в gvim, а не в vim в терминале.

1 голос
/ 17 сентября 2011

Может быть, вы можете попробовать

vim -o2 file1 file2 file3...

Я знаю, что это не идеальное решение для вас (в этом случае vim открывает каждый раз два окна).

Но вы можете написать (и использовать) маленький скрипт, подобный этому

if [ $# -ge 2 ];
    vim -o2 $*
else
    vim $*
fi

Почти идеально;)

0 голосов
/ 15 сентября 2011

Возможно, можно настроить что-то в сценарии оболочки следующим образом:

#!/bin/bash
if [[ "$#" -eq "2" ]]
then
  /usr/bin/vim -o $1 $2 
else
  /usr/bin/vim $*
fi

Если вы чувствуете себя немного странно, вы можете сделать что-то более сложное, пройдя по параметрам и проверив, есть ли опцииигнорируя их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...