Multiple commands on same line

The command seperator in vim is |.


You could define a function that executes your commands.

function Func()
     :command
     :command2 
endfunction

And place this in, for example, your vimrc. Run the function with

exec Func()

Put <CR> (Carriage Return/Enter) between and after commands. For example:

map <F5> :w<CR>:!make && ./run<CR>

Don't use | because:

  • Some commands have problems if you use | after them

  • | does not work consistently in configuration files, see :help map_bar


A bar | will allow you to do this. From :help :bar

'|' can be used to separate commands, so you can give multiple commands in one line. If you want to use '|' in an argument, precede it with '\'.

Example:

:echo "hello" | echo "goodbye"

Output:

hello
goodbye

NB: You may find that your ~/.vimrc doesn't support mapping |, or \|. In these cases, try using <bar> instead.

Tags:

Vim

Command