Załóżmy, że edytuję pojedynczą linię, a mój kursor znajduje się we wskazanej pozycji:
$ abc ꕯ def ghi
Chciałbym teraz podzielić się na dwie linie i kontynuować edycję (tak jak naciśnięcie klawisza ENTER w edytorze tekstu):
$ abc
$ ꕯ def ghi
Czy można to zrobić w ZSH?
abc
wykonać, czy chcesz wstawić\n
znak w pozycji kursora?Odpowiedzi:
W
emacs
trybie ZLE :… Znak Control+ V(ASCII
SYN
) jest powiązany zquoted-insert
widżetem. Więc po prostu wpisz Control+, Va następnie Control+ J(ASCIILF
).W
vi
trybie ZLE :… Znaki Control+ Q(ASCII
DC1
) i Control+ Vsą powiązane zvi-quoted-insert
widżetem. Więc ponownie wpisz Control+ V, a następnie Control+ J.Zapamiętaj:
Nowe linie w środku linii poleceń oddzielają polecenia. (W terminologii
zsh
podręcznika: zarówno nowa linia, jak i;
zakończenie listy .) Cytuj nową linię, jeśli nie chcesz.źródło
Oto sposób „vimmer” w trybie ZLE vi, który nie wymaga
ctrl
akordów.jeśli twoja linia wygląda następująco i jesteś w trybie normalnym : $ abc ꕯ def ghi
wpisz to: DoESCp
całkowita liczba naciśnięć klawiszy: 4.
wyjaśnienie:
źródło
Użyj ⌥↩︎ ( Option / Alt+ Return) lub ⎋, ↩︎ ( Escnastępnie Return).
bindkey -e
Działa to tylko wtedy, gdy zadzwoniłeś wcześniej lub gdzieś w .zshrc.źródło