Rozważ następujący monit bash, gdzie ^
oznacza lokalizację monitu:
$ git commit -am "[bug 123456] Do this and that with the bug"
^
Załóżmy, że chcę ponownie zatwierdzić ten sam błąd, używając innego komunikatu zatwierdzenia. Czy istnieje sposób usunięcia tekstu z pozycji kursora do końca linii?
command-line
bash
Adam Matan
źródło
źródło
Brexit - the UK leaves Europe
- U usuwa się na początku, a K na końcu.Zależy to od tego, czy używasz trybu edycji vi (
set -o vi
) czy emacs (set -o emacs
) w swojej powłoce.Domyślnie twoja powłoka zazwyczaj domyślnie pracuje w trybie edycji emacsa.
W trybie emacsa usuwanie do końca linii można wykonać za pomocą polecenia ctrl- k.
Jeśli jednak używasz trybu edycji vi w powłoce poleceń, ten sam rezultat można osiągnąć, wpisując Esc(co spowoduje przejście do trybu poleceń), a następnie d- $(jeśli chcesz usunąć całą linię, wpisz dd).
Jeśli nie masz pewności, jakiego trybu edycji aktualnie używasz w powłoce, wpisz polecenie
set -o
z wiersza poleceń, a będziesz w stanie określić, którego trybu edycji używasz obecnie:Aby przełączyć tryb edycji wiersza polecenia, wystarczy wpisać:
lub
źródło
K
oznacza kill (linia rozpoczynająca się od pozycji kursora).D
działa tak samo jakd$
Jeśli znasz tylko jeden z Zsh i Bash, oto równoważne przypisania klawiszy, których możesz potrzebować:
grzmotnąć
zsh
Inne istotne informacje
Aby uzyskać listę powiązań klawiszy:
źródło
"^k"
Control + K?"\C-k"