How to run a vim command from the shell command-line? How to run a vim command from the shell command-line? shell shell

How to run a vim command from the shell command-line?


Note, now the syntax has changed, and the line should read (As per @sheharyar):

vim +PluginInstall +qall

For posterity, previously, the correct line was:

vim +BundleInstall +qall

Should anyone other than me be looking! Note: this is in the Github README for vundle.


Per the vim man page (man vim):

-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.

or:

--cmd {command}    Like using "-c", but the command is  executed  just  before    processing  any  vimrc file.  You can use up to 10 of these    commands, independently from "-c" commands.

It really depends on what you want to do. Also, as described at the vundle readme file, if you launch vim like this:

    vim +BundleInstall +qall

This will install all bundle options without opening vim.And just for clarification, from the vim documentation:

:qall    This stands for "quit all".  If any of the windows contain changes, Vim will    not exit.  The cursor will automatically be positioned in a window with    changes.  You can then either use ":write" to save the changes, or ":quit!" to    throw them away.


How about something more complex?

vim "+set ff=unix" "+wq" node_modules/less-monitor/bin/less-monitor

Not sure whether that is totally correct, but it works for me. Thanks @jvc26