Próbuję przejść z długotrwałego korzystania z Tcsh na ostatnią eksplorację Basha.
Udało mi się przenieść wszystkie moje ulubione funkcje, z wyjątkiem Ctrl + W, który traktuje spacje i ukośniki jak granice słów, najprawdopodobniej słowo „zabij” do tyłu ”. Jednak w Bash readline usuwa całą drogę do pierwszej spacji, usuwając wszystkie ukośniki pomiędzy.
Próbowałem wielu różnych kombinacji \ Cw: backward-kill-word zarówno w .inputrc, jak i .bashrc za pomocą binda, ale nie mogę tego zrobić tak, jak chcę.
Zabawne jest to, że za pomocą Putty z Windows w pracy mogę używać Alt + Backspace, który również w instrukcji mówi, że jest domyślnym wiązaniem, aby uzyskać dokładnie takie zachowanie, jakie chcę. Ale w Terminal.app na moich komputerach Mac w domu to nie działa. To samo dotyczy dowolnego serwera FreeBSD lub Linux, na który jestem zalogowany z Terminal.app.
Zwracam się więc o pomoc do administratora.
cat
. We wszystkich systemach uniksowychstty
służy do sterowania różnymi parametrami tty, w tym kluczami specjalnymi. (Oto jak wyglądał UNIX 7. edycjastty
).stty
instrukcji). Ponadto, bash był pierwotnie przeznaczony dla systemu operacyjnego GNU i dopiero później przeniesiony na inne Uniksy; znacznie łatwiej jest zachować funkcje edycji w jednej bibliotece niż w kilku bardzo różnych jądrach.stty
konfigurację dla uproszczenia, ale można ją zastąpić własnymi ustawieniami readline (zgodnie z opisem w odpowiedzi Matt Day).grawity napisał, że nie można tego kontrolować w
.inputrc
pliku, ale jest to niepoprawne.Jeśli
set bind-tty-special-chars off
w twojej.inputrc
można następnie dostosować zachowanie znaków specjalnych terminali.Na przykład:
źródło
python
.Dla przypomnienia, odpowiedzią dotyczącą iTerm2 jest ustawienie Alt- Backspace(lub Opt ⌥- ⌫na Macu), aby wysyłał Kody Szesnastkowe
0xb1
i0x7f
aby wykonaćbackward-kill-word
akcję, która traktuje znaki niealfanumeryczne jako ograniczniki.Dla wyróżnienia oto zachowanie, które opisuję, w którym naciskanie Opt ⌥- ⌫raz to zmienia:
echo "/example/filepath/with_non-alpha.characters@blah:meh
do tego:
echo "/example/filepath/with_non-alpha.characters@blah:
I kolejne prasy Opt ⌥- ⌫:
echo "/example/filepath/with_non-alpha.characters@
echo "/example/filepath/with_non-alpha.
echo "/example/filepath/with_non-
echo "/example/filepath/with_
echo "/example/filepath/
Oto jak to ustawienie wygląda w iTerm2:
Tak więc, w odniesieniu do Putty i Terminalu, grawitacja jest świetna. Ale po kłopotliwej ilości czasu na szukanie sposobu zastosowania ustawienia w iTerm2, ten post superużytkownika wydaje się pojawiać najczęściej, więc wydawało się, że jest odpowiedzialny za dostarczenie odpowiednich informacji, ponieważ dotyczy iTerm2 jako odpowiedzi załączonej do tego pytania.
źródło