perilaku ctrl-o di Terminal.app

16

Saya sering menggunakan + Oshortcut di bash (dari "Learning the bash Shell" ):

[G] o kembali ke [perintah dalam sejarah] dan tekan + Oalih-alih . Ini akan menjalankan perintah dan memunculkan perintah berikutnya dalam file histori. Tekan + Olagi untuk memasukkan perintah ini dan membuka yang berikutnya.

Tampaknya pintasan ini tidak tersedia di OS X; + Otidak melakukan apa-apa. Pencarian web menghasilkan saran untuk menggunakan !bash builtin , tapi saya tidak melihat bagaimana saya bisa menyelesaikan hal yang sama dengan + Odengannya.

Apakah mungkin untuk mendapatkan + Operilaku di Terminal.app pada OS X?

Mike Mazur
sumber

Jawaban:

19

+ Oadalah, untuk beberapa alasan (mungkin ada hubungannya dengan itu digunakan untuk kontrol aliran pada beberapa jenis koneksi serial) diatur untuk dibuang oleh driver terminal (yaitu bukan Terminal.app, tetapi bagian dari OS antara itu dan kulit). Anda dapat menyingkirkan ini dengan perintah stty discard undef. Untuk membuat perubahan ini permanen, tambahkan perintah ini ke file .bash_profile dan .bashrc Anda .

Gordon Davisson
sumber
3

man bashmungkin membantu. "READLINE" dan "Readline Key Bindings" berbicara tentang mengikat penekanan tombol yang tersedia dan cara mengatur default readline.

Juga Bash Emacs Editing mode Cheat Sheet dan Produktif Bekerja di Bash Vi Command Line Editing Mode (dengan Cheat Sheet) yang baik untuk mencari tahu apa yang kali tombol ditekan, melakukan apa jika Anda menggunakan vi modus bukan emacs default. Dalam kedua kasus bind -P | grep foundakan menunjukkan kepada Anda kombinasi tombol apa yang dikonfigurasi dalam mode vi dan bind -Pakan menampilkan semua yang tersedia.

Greg
sumber
2
Wow, saya tidak tahu ada mode-vi yang tersedia di bash! Ini sangat manis. Terima kasih!
Mike Mazur
2
Saya merasakan hal yang sama ketika saya menemukan itu tersedia.
Greg
aku juga aku juga :)
Robert S Ciaccio