Tidak dapat lagi menggunakan CTRL + Kiri / Kanan di Bash Terminal

13

Saya biasanya menggunakan CTRL+ Leftdan CTRL+ Rightuntuk menavigasi antara kata-kata di baris perintah. Saya mengganti laptop saya pada pagi ini dan tidak bisa lagi melakukannya. Sebagai gantinya, kode input CTRL+ Leftakan dicetak di terminal.

Yaitu: Ini output saya ketika saya mencoba menavigasi dengan CTRL+ Left:

~ $ test test ;5D;5D;5D

Anehnya, saya masih bisa menggunakan CTRL+ Left/ Rightbaik-baik saja di VIM.

Berair
sumber
Bisakah Anda memasukkan sesuatu ke bashrc Anda untuk mengaktifkan ini? Karena tidak berfungsi secara default untuk saya di Ubuntu 15.10 ...
Martin Tournoij
Silakan kirim output dari grep bind ~/.bashrc . Apakah Anda mencari file lain di ~/.bashrc( grep source ~/.bashrc)?
kos
1
Hanya ingin tahu, tapi apa hasilnya echo $0?
Aaron

Jawaban:

15

Buka ~/.inputrcfile dan tambahkan baris berikut:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word

Tutup dan buka kembali shell. Sekarang Anda harus dapat menggunakan kunci-kunci itu.

Alasan untuk perilaku ini? Tidak terlalu yakin. Untuk beberapa alasan atau yang lain Anda bashberhenti membaca /etc/inputrcfile, tetapi harus membaca yang ada di folder rumah Anda

Sergiy Kolodyazhnyy
sumber
Saya pikir masalah ini dimulai ketika saya membuat file ~ / .inputrc. Apakah itu akan berhasil?
wjandrea
1
@wandrea ya, saya mengujinya sekarang. Sebelum kosong ~/.inputrc, bash bekerja dengan baik, mulai memperlihatkan karakter kontrol yang sama untuk keluaran begitu kosong ~/.inputrcdibuat. Dihapus - tombol Ctrl + panah berfungsi lagi. stracemengungkapkan bahwa jika .inputrcada, bash tidak akan membaca /etc/inputrc. Saya akan bermain-main dengan ini sedikit lebih banyak dan memperbarui jawaban saya
Sergiy Kolodyazhnyy
1
Jika Anda menambahkan $include /etc/inputrcke bagian atas ~/.inputrcfile Anda , maka Anda dapat memasukkan perilaku seluruh sistem dan kemudian memperpanjangnya.
Cory Gross