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