To je bohužel až bash
, ne k terminálu. Vaše možnosti jsou:
-
Místo nových řádků používejte středníky, i když ani potom se nemůžete posouvat o řádek obrazovky nahoru najednou, ale musíte použít příkazy pro pohyb znaků nebo slov. (Zvláštní,
zsh
alespoň vám umožňuje pohybovat se v rámci složeného příkazu při úpravách historie, ale ne v rámci aktuálního příkaz.) Někdyfc
(který vás hodí do vašeho editoru s předchozím příkazem) je nejjednodušší způsob, jak zvládnout složené příkazy. -
Pokud používáte Bash, použijte následující kombinaci kláves:
ctrl x e
Otevře se příkaz, na kterém pracujete pomocí textového editoru. Uložte soubor a ukončete. (Příkaz jsem našel na prezentaci Shell Hater.) Uživatelé Zsh mají tuto alternativu.
Řešením je nikdy nezadávat příkaz, dokud není víceřádkový správný, stačí napsat:Ctrl v Ctrl j když chcete přejít na další řádek. Meta b vrátit se o slovo zpět.
poděkujte za odpověď @rici
Zajímavé je, že Ctrl+C je to, co hledáte.
když jste na
$ echo "foo bar
> baz
>
stačí stisknout Ctrl+C (upravený příkazový řádek se pozastaví) a stiskněte Nahoru (předchozí historie). Vaše výzva bude:(všimněte si nepřítomnosti>)
$ echo "foo bar
baz
Nyní se můžete pohybovat pomocí Doleva Správně i přes čárové skoky.
Existuje pouze jeden vtip, musíte být na posledním znaku, abyste mohli přidat další řádek, takže se pohybujte a upravujte existující řádky (začněte pomocí Ctrl+A ) a stiskněte Enter jestli to stačí nebo to skončí (Ctrl+E ), chcete-li přidat další řádky pomocí Enter . Další nevýhodou je, že Ctrl+_ (zpět) obnoví pouze změny z poslední Ctrl+C