W Linuksie zwykłem naciskać Ctrl- Backspaceaby usunąć ostatnie słowo, ale nie wiem, jak to zrobić w terminalu Bash.
W OS XI użyj Alt- Backspaceaby zrobić to samo.
Czy istnieje jakiś sposób dokonywania Bash rozpoznać Ctrl- lub Alt- Backspacekombinacji klawiszy, aby usunąć ostatnie słowo?
W systemie Linux używam terminator
jako emulatora terminala, w systemie OSX używam iTerm2
.
bash
linux-terminal
licorna
źródło
źródło
Odpowiedzi:
Zawsze możesz użyć Ctrl- W. Usuwa słowo przed kursorem i działa w każdym Bash.
Zobacz tutaj listę skrótów klawiaturowych Bash .
źródło
Musisz tylko ustawić Option jako klucz Meta w preferencjach iTerm ( Profile »Klucze ).
backward-kill-word
jestMeta-Rubout
domyślnie związany (tzn. Opt-Backspace).Ta sama opcja istnieje (choć mniej elastyczna) w aplikacji Apple Terminal.app.
źródło
?
że zamiast słowa zostanie usunięte wydrukowane.W terminatorze możesz użyć następującej „ wtyczki ” wraz z
w twoim pliku konfiguracyjnym. Będzie to mapa Ctrl- Backspacedo ESC→ DEL, kolejny shorcut usunąć ostatnie słowo.
źródło
Możesz utworzyć plik
.inputrc
w swoim katalogu domowym i dodać tę zawartość do:źródło
C-w
zaakceptowana odpowiedź różnią się tym, co uważa się za „słowo”.C-w
usunie się z pozycji kursora, dopóki nie napotka znaków spacji, a następnie spacji (tj."this is a/se=weird |test"
gdzie|
znaczniki pozycja kursora da miejsce"this is test"
) W przeciwieństwie do tego,C-h
powiązanie tutaj (które można powiązać za pomocąbind '"\C-h": backward-kill-word"
a.bashrc
) dałoby"this is a/se= test"
, ponieważ zasadniczo ogranicza słowa do tego, co zrobiłaby zmienna bash, a nie tylko spacje.Możesz po prostu użyć Alt- DELzamiast normalnego Strg- DEL.
źródło