Я пытаюсь найти что-то, что позволит мне запускать несколько команд в одной строке в vim, подобно использованию точек с запятой для разделения команд в системах * nix или & в окнах. Есть ли способ сделать это?
VIM - несколько команд на одной строке
Ответ 1
Бар | позволит вам сделать это. Из :help :bar
'|'может использоваться для разделения команд, поэтому вы можете давать несколько команд в одном линия. Если вы хотите использовать'|'в аргументе, перед ним следует'\'.
Пример:
:echo "hello" | echo "goodbye"
Вывод:
hello
goodbye
Примечание. Вы можете обнаружить, что ваш ~/.vimrc не поддерживает отображение | или \|. В этих случаях попробуйте вместо этого использовать <bar>.
Ответ 2
Поместите <CR> (возврат/ввод каретки) между командами и после них. Например:
map <F5> :w<CR>:!make && ./run<CR>
Не используйте |, потому что:
-
У некоторых команд есть проблемы, если вы используете
|после них -
|не работает последовательно в файлах конфигурации, см.:help map_bar
Ответ 3
Вы можете определить функцию, которая выполняет ваши команды.
function Func()
:command
:command2
endfunction
И поместите это, например, в свой vimrc. Запустите функцию с помощью
exec Func()
Ответ 4
Команда seperator в vim |.
Ответ 5
Я всегда использовал ^J для разделения нескольких команд, нажимая Ctrl + v, Ctrl + j.
Ответ 6
Вы можете создать новый файл и написать на нем свои команды. Затем :so %, что означает исходный текущий файл.