Pada mesin Debian Wheezy di pekerjaan sebelumnya, saya terbiasa dengan Alt + Kiri dan Alt + Kanan untuk melompati kata-kata di baris perintah aktif (dalam bash).
Namun, karena di rumah saya telah meningkatkan ke Jessie (Debian 8.0, cabang pengujian) ini tidak berfungsi lagi: alih-alih melewatkan kata sebelumnya, Alt-Left mencetak sesuatu seperti D
atau [D
. OTOH, jika saya membuka ssh dan terhubung ke Debian Wheezy tanpa kepala saya, itu berfungsi dengan baik.
Selain itu, saya baru saja menginstal Fedora 20 di pekerjaan baru saya dan di sini perilakunya sama. Ini berlaku untuk bash, csh dan ksh (dimulai di bawah env -i
), serta rxvt-unicode dan xfce4-terminal, jadi pasti ada sesuatu di luar level ini.
Di mana lagi dalam tumpukan saya harus mencari perbedaannya?
sumber
Jawaban:
Anda mungkin memiliki file lokal
~/.inputrc
atau global yang/etc/inputrc
didefinisikan yang hilang pada peningkatan. Cara mudah memperbaikinya adalah membuat~/.inputrc
file dengan baris berikut:Mereka akan bekerja dengan
xterm
danterminator
dangnome-terminal
tetapi mungkin perlu disesuaikan untuk terminal lain. Sayangnya, setiap terminal emulator dapat menggunakan sintaks yang berbeda. Untuk detail lebih lanjut, lihat jawaban saya di sini .sumber
terdon mengatur saya ke arah yang benar: file inputrc .
Penyebabnya adalah bahwa secara non-intuitif, readline6 sebenarnya menggunakan ~ / .inputrc sebagai ganti / etc / inputrc, yang mana readline (3) tidak menekankan atau membantah:
Jadi sementara di pada kedua mesin Debian / etc / inputrc identik dengan yang disediakan oleh libreadline6 paket (versi adalah sama juga), pada mesin yang lebih baru ~ / .inputrc ada dengan garis tunggal:
set bell-style none
. Ketika file ini dihapus, semua berfungsi dengan baik (lihat catatan di bawah).Saya tidak bisa memeriksa Fedora sampai besok, tapi saya kira itu masalah yang sama. Pembaruan: Pada Fedora, ~ / .inputrc tidak ada, di sini / etc / inputrc sangat berbeda sehingga mungkin tidak mendefinisikan ini. Sebagai perbaikan terbaru, saya hanya menyimpan inputrc Debian sebagai ~ / .inputrc saya.
Catatan:
Misteri bagaimana hal itu bisa berubah selama 7> 8 upgrade masih belum terselesaikan, tetapi sebagian dapat dipertanggungjawabkan ke memori buruk saya dan beberapa juggling dotfile yang tidak disengaja. (BTW itu bukan upgrade APT tapi instal ulang dan manual dotfile bergerak jadi mungkin ~ .inputrc menghalangi entah bagaimana.)
Juga, Ketika saya mengatakan OK, maksud saya ia bekerja dengan Ctrl di mana-mana kecuali Rxvt (OK, saya hanya memeriksa xfce4-terminal tetapi kita tahu Rxvt adalah pemberontak yang biasa), di mana ini dipetakan kembali ke Alt, tampaknya karena Ctrl diambil oleh Rxvt -Fungsi spesifik - memindahkan tab aktif dalam daftar.
Seperti yang disebutkan dalam manual, dengan bash Anda dapat menggunakan perintah bind bawaan untuk menyelidiki apa yang saat ini Anda miliki.
sumber
$include /etc/inputrc
di bagian atas~/.inputrc
jika Anda ingin membacanya juga.$include
d secara default).