Wiele poleceń w tej samej linii

Próbowałem znaleźć coś, co pozwoli mi uruchomić wiele poleceń w tej samej linii w Vimie, podobnie jak używanie średników do oddzielania poleceń w systemach *nix lub & W Windows. Jest na to sposób?

 210
Author: Matthias Braun, 2010-07-14

7 answers

Pasek | pozwoli Ci to zrobić. Od :help :bar

'|' może być używany do oddzielania poleceń, dzięki czemu można wydawać wiele poleceń w jednym Kolejka Jeśli chcesz użyć '|' w argumencie, poprzedź go znakiem '\'.

Przykład:

:echo "hello" | echo "goodbye"

Wyjście:

hello
goodbye

NB: może się okazać, że twój ~/.vimrc nie obsługuje mapowania |, lub \|. W takich przypadkach spróbuj użyć <bar>.

 258
Author: michaelmichael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-17 17:52:57

Put <CR> (Carriage Return/Enter) between and after commands. Na przykład:

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

Nie używaj | Ponieważ:

  • Niektóre polecenia mają problemy, jeśli używasz | po nich

  • | nie działa konsekwentnie w plikach konfiguracyjnych, zobacz :help map_bar

 97
Author: Babken Vardanyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-08 12:50:01

Możesz zdefiniować funkcję wykonującą Twoje polecenia.

function Func()
     :command
     :command2 
endfunction

I umieść to na przykład w swoim vimrc. Uruchom funkcję

exec Func()
 45
Author: Jonatan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-16 16:05:18

Separator poleceń w Vimie to |.

 25
Author: Daenyth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-14 18:39:30

Zawsze używałem ^J do oddzielania wielu poleceń przez naciśnięcie Ctrl+v, Ctrl+j .

 16
Author: eruciform,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-22 18:16:42

Pomyślałem, że to może pomóc komuś, kto próbuje zrobić substytucje w łańcuchu i jeden nie powiedzie się

From a comment

%s/word/newword/ge | %s/word2/newword2/ge

Możesz użyć znacznika e, Aby zignorować błąd, gdy łańcuch nie zostanie znaleziony.

 14
Author: Jerinaw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-04 07:09:09

Możesz utworzyć nowy plik i zapisać na nim swoje polecenia. Następnie :so %, co oznacza źródło bieżącego pliku.

 2
Author: Song,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-24 04:21:53