zachowanie ctrl-o w Terminal.app

16

Często używam skrótu + Ow bash (z „Uczenia się powłoki bash” ):

[G] o powrót do [polecenia w historii] i naciśnij + Ozamiast . Spowoduje to wykonanie polecenia i wyświetlenie następnego polecenia w pliku historii. Naciśnij + Oponownie, aby wprowadzić to polecenie i wywołać następne.

Wygląda na to, że ten skrót nie jest dostępny w systemie OS X; + Opo prostu nic nie robi. Wyszukiwarka internetowa sugeruje użycie !wbudowanego basha , ale nie widzę, jak mogę to zrobić za pomocą + O.

Czy w jakiś sposób można uzyskać + Ozachowanie w aplikacji Terminal.app w systemie OS X?

Mike Mazur
źródło

Odpowiedzi:

19

+ Ojest z jakiegoś powodu (prawdopodobnie związany z tym, że jest używany do kontroli przepływu w niektórych rodzajach połączeń szeregowych) ustawiony do odrzucenia przez sterownik terminala (tj. nie Terminal.app, ale część systemu operacyjnego między nim a muszla). Możesz się tego pozbyć za pomocą polecenia stty discard undef. Aby ta zmiana była trwała, dodaj to polecenie do plików .bash_profile i .bashrc .

Gordon Davisson
źródło
3

man bashmoże pomóc. „READLINE” i „Readline Key Bindings” mówią o wiązaniu dostępnych naciśnięć klawiszy oraz o tym, jak skonfigurować ustawienia domyślne readline.

Również Bash Emacs Montaż Tryb Ściągawka i produktywnie Praca w Vi Command Line tryb edycji w bash (z Ściągawka) są dobre na zastanawianie się, co przyciśnięcie co robi, jeśli używasz vi tryb zamiast domyślnego emacs. W obu przypadkach bind -P | grep foundpokaże Ci, jakie kombinacje klawiszy są skonfigurowane w trybie vi i bind -Ppokaże wszystko, co jest dostępne.

Greg
źródło
2
Wow, nie miałem pojęcia, że ​​dostępny jest tryb vi w bash! To nie jest słodkie. Dzięki!
Mike Mazur
2
Tak samo czułem się, gdy odkryłem, że jest dostępny.
Greg
ja też ja też :)
Robert S Ciaccio