VIM - несколько команд на одной строке

Я пытаюсь найти что-то, что позволит мне запускать несколько команд в одной строке в vim, подобно использованию точек с запятой для разделения команд в системах * nix или & в окнах. Есть ли способ сделать это?

+140
14 июл. '10 в 18:35
источник поделиться
6 ответов

Бар | позволит вам сделать это. Из :help :bar

'|' может использоваться для разделения команд, поэтому вы можете давать несколько команд в одном линия. Если вы хотите использовать '|' в аргументе, перед ним следует '\'.

Пример:

:echo "hello" | echo "goodbye"

Вывод:

hello
goodbye

Примечание. Вы можете обнаружить, что ваш ~/.vimrc не поддерживает отображение | или \|. В этих случаях попробуйте вместо этого использовать <bar>.

+176
14 июл. '10 в 18:40
источник

Поместите <CR> (возврат/ввод каретки) между командами и после них. Например:

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

Не используйте |, потому что:

  • У некоторых команд есть проблемы, если вы используете | после них

  • | не работает последовательно в файлах конфигурации, см. :help map_bar

+52
30 июн. '13 в 15:28
источник

Вы можете определить функцию, которая выполняет ваши команды.

function Func()
     :command
     :command2 
endfunction

И поместите это, например, в свой vimrc. Запустите функцию с помощью

exec Func()
+32
16 июл. '10 в 16:05
источник

Команда seperator в vim |.

+19
14 июл. '10 в 18:39
источник

Я всегда использовал ^J для разделения нескольких команд, нажимая Ctrl + v, Ctrl + j.

+11
14 июл. '10 в 18:41
источник

Вы можете создать новый файл и написать на нем свои команды. Затем :so %, что означает исходный текущий файл.

0
24 апр. '15 в 4:21
источник

Посмотрите другие вопросы по меткам или Задайте вопрос