Saya mencoba untuk beralih dari penggunaan Tcsh dalam waktu lama ke eksplorasi Bash baru-baru ini.
Saya telah berhasil mem-porting semua fitur favorit saya, kecuali untuk Ctrl + w yang memperlakukan spasi dan garis miring sebagai batas kata, kemungkinan besar mundur-membunuh-kata. Namun dalam Bash readline menghapus semua jalan ke ruang pertama, menghapus semua garis miring di antara.
Saya sudah mencoba berbagai kombinasi \ Cw: backward-kill-word di kedua .inputrc dan .bashrc menggunakan bind tapi saya tidak bisa membuatnya bekerja seperti yang saya inginkan.
Cukup lucu, melalui Putty dari Windows di tempat kerja saya dapat menggunakan Alt + Backspace, yang juga manual mengatakan adalah ikatan default, untuk menghasilkan perilaku yang tepat yang saya inginkan. Tetapi di Terminal.app di Mac saya di rumah ini tidak berfungsi. Hal yang sama berlaku untuk server FreeBSD atau Linux yang kebetulan saya masuk dari Terminal.app.
Jadi saya beralih ke superuser untuk meminta bantuan.
cat
. Pada semua Unix,stty
digunakan untuk mengontrol berbagai parameter tty termasuk kunci-kunci khusus ini. (Begini tampang UNIX 7th Editionstty
.)stty
manual). Juga, bash pada awalnya ditujukan untuk OS GNU dan hanya kemudian diangkut ke Unix lain; jauh lebih mudah untuk mempertahankan fitur pengeditan di satu perpustakaan daripada di beberapa kernel yang sangat berbeda.stty
konfigurasi untuk kesederhanaan, tetapi dapat ditimpa oleh pengaturan readline sendiri (seperti yang dijelaskan dalam jawaban Matt Day).grawity menulis bahwa ini tidak dapat dikontrol dalam
.inputrc
file, tetapi itu tidak benar.Jika Anda berada
set bind-tty-special-chars off
di Anda.inputrc
, Anda kemudian dapat menyesuaikan perilaku chars terminal khusus.Sebagai contoh:
sumber
python
. , .Sebagai catatan, jawaban yang berlaku untuk iTerm2 adalah untuk mengatur Alt- Backspace(atau Opt ⌥- ⌫pada Mac) untuk mengirim Kode Hex
0xb1
dan0x7f
untuk melakukanbackward-kill-word
tindakan yang memperlakukan karakter non-alfanumerik sebagai pembatas.Sebagai pembeda, inilah perilaku yang saya jelaskan, di mana menekan Opt ⌥- ⌫satu kali mengubah ini:
echo "/example/filepath/with_non-alpha.characters@blah:meh
untuk ini:
echo "/example/filepath/with_non-alpha.characters@blah:
Dan menekan berikutnya 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/
Seperti apa pengaturannya di iTerm2:
Jadi, khusus untuk Putty dan Terminal, jawaban grawity luar biasa. Tetapi setelah menghabiskan waktu yang memalukan untuk mencari cara menerapkan pengaturan di iTerm2, posting pengguna super ini tampaknya paling sering muncul, jadi sepertinya bertanggung jawab untuk memberikan info yang relevan sebagaimana berlaku untuk iTerm2 sebagai Jawaban yang terlampir pada Pertanyaan ini.
sumber