Di Linux saya terbiasa menekan Ctrl- Backspaceuntuk menghapus kata terakhir tetapi saya tidak tahu bagaimana melakukannya di terminal Bash.
Dalam OS XI gunakan Alt- Backspaceuntuk melakukan hal yang sama.
Apakah ada cara untuk membuat Bash mengenali kombinasi Ctrl- atau Alt- Backspacekunci untuk menghapus kata terakhir?
Di Linux saya gunakan terminator
sebagai terminal emulator, di OSX saya gunakan iTerm2
.
bash
linux-terminal
licorna
sumber
sumber
Jawaban:
Anda selalu dapat menggunakan Ctrl- W. Ini menghapus kata sebelum kursor dan bekerja di setiap Bash.
Lihat di sini untuk daftar cara pintas keyboard Bash .
sumber
Anda hanya perlu mengatur Opsi sebagai kunci Meta di preferensi iTerm ( Profil »Kunci ).
backward-kill-word
terikatMeta-Rubout
(yaitu Opt-Backspace) secara default.Opsi yang sama ada (meskipun kurang fleksibel) di Terminal.app Apple.
sumber
?
dicetak bukan kata yang dihapus.Di terminator Anda dapat menggunakan " plugin " berikut , bersama dengan
dalam file konfigurasi Anda. Ini akan memetakan Ctrl- Backspaceke ESC→ DEL, shorcut lain untuk menghapus kata terakhir.
sumber
Anda dapat membuat file
.inputrc
di direktori home Anda dan menambahkan konten ini di dalam:sumber
C-w
jawaban yang diterima berbeda dengan apa yang dianggap sebagai "kata".C-w
akan menghapus dari posisi kursor sampai bertemu karakter non-spasi dan kemudian spasi (yaitu, di"this is a/se=weird |test"
mana|
menandai posisi kursor akan menghasilkan"this is test"
). Sebaliknya,C-h
ikatan di sini (yang dapat diikat menggunakanbind '"\C-h": backward-kill-word"
a.bashrc
) akan menghasilkan"this is a/se= test"
, karena pada dasarnya membatasi kata-kata tentang apa yang akan dilakukan oleh variabel bash, bukan hanya spasi.Anda bisa menggunakan Alt- DELbukan yang normal Strg- DEL.
sumber