12

Это может быть глупый вопрос, но терпите меня.

Я автоматизирую некоторые из обычных вещей, которые я делаю при настройке новой рабочей среды, и хотел бы автоматизировать команду Vim :BundleInstall (для установки всех моих плагинов Vim).

Можно ли запустить это из оболочки?

Как вариант, можно ли запустить скрипт Vim, выполнить :BundleInstall , дождаться его завершения и выйти?

Благодарю.

3 ответа3

14

Со страницы vim(1) :

+{Команда}

-c {команда}

{команда} будет выполнена после прочтения первого файла. {команда} интерпретируется как команда Ex. Если {команда} содержит пробелы, она должна быть заключена в двойные кавычки (это зависит от используемой оболочки). Пример: Vim "+set si" main.c

Примечание. Вы можете использовать до 10 команд «+» или «-c».

3

Вы можете выполнить свою команду следующим образом:

vim -E -c BundleInstall -c q

что позволит избежать открытия окна Vim в вашем терминале.

Примечание: мой первый ответ включал опцию -s которая мне была нужна для другого приложения, но была здесь неправильной, потому что она предотвращала большую часть инициализации Vim, включая поиск плагина, определяющего команду BundleInstall .

2

Хотя приведенный выше специальный рецепт vim - верный способ сделать это, вы всегда можете использовать более общий подход, такой как autoexpect.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .