Como executar o comando Vim a partir do shell?

12

Esta pode ser uma pergunta idiota, mas tenha paciência comigo.

Estou automatizando algumas das coisas usuais que faço ao configurar um novo ambiente de trabalho e gostaria de automatizar o comando do Vim :BundleInstall (para instalar todos os meus plugins do Vim).

É possível executar isso a partir do shell?

Alternativamente, é possível ter o script executando o Vim, executar :BundleInstall , esperar até que ele termine e saia?

Obrigado.

    
por imiric 21.07.2012 / 18:40

3 respostas

14

Na página vim(1) man:

+{command}

-c {command}

{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: Vim "+set si" main.c

Note: You can use up to 10 "+" or "-c" commands.

    
por 21.07.2012 / 18:47
3

Você pode executar seu comando assim:

vim -E -c BundleInstall -c q

que evitará abrir uma janela do Vim no seu terminal.

Nota: Minha primeira resposta incluiu a opção -s que eu precisava para outro aplicativo, mas estava incorreta aqui, porque impediu muito da inicialização do Vim, incluindo o fornecimento do plug-in que definiu o comando BundleInstall .

    
por 21.07.2012 / 23:04
2

Embora a receita específica do vim acima seja a maneira certa de fazer isso, você sempre pode usar uma abordagem mais geral como autoexpect .

    
por 21.07.2012 / 19:49