Я пытаюсь найти что-то, что позволит мне запускать несколько команд в одной строке в 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 %
, что означает исходный текущий файл.