Latar Belakang
Saya telah mendengar bahwa modul readline sedang membaca ~/.inputrc
dan begitulah ia mengubah perilaku penekanan tombol pada program seperti bash.
Pertanyaan
Bagaimana saya bisa memuat ulang ini setelah mengedit untuk melihat perilaku yang berubah tanpa memulai kembali program terminal saya?
exec bash
dalam sesi Bash akan mengganti sesi shell saat ini dengan sesi Bash baru.xterm
adalah terminal.Jawaban:
Secara default,
C-x C-r
terikat kere-read-init-file
.Lihat Manual Referensi Bash untuk penjelasan.
sumber
bash -l
(shell yang berperilaku seperti shell login) yang baru diinisialisasi./etc/inputrc
tetapi saya memiliki hampir kosong~/.inputrc
yang mencegah/etc/
yang digunakan. Menghapus~/.inputrc
menyebabkannya membaca/etc/inputrc
dan membuat perubahan saya aktif.$include /etc/inputrc
ke atas~/.inputrc
, itu menghindari masalah ini.Anda juga dapat memuat ulang entri baru dari baris perintah menggunakan
bind -f ~/.inputrc
. Itu akan memuat entri dalam .inputrc. Perhatikan bahwa ini hanya memuat, bukan "memuat ulang" - jadi itu tidak mengatur ulang setiap baris yang Anda hapus dari .inputrc.Untuk dengan cepat menguji dari batu tulis yang bersih, jalankan saja
bash
kemudian bekerja di dalam shell yang bersarang baru (atau memulai terminal baru).sumber
bind -f
hanya benar-benar menerima nama file, dan bukan file, jadi sesuatu sepertibind -f <(echo 'one line with ~/.inputrc syntax')
(atau, sepele,bind -f <(cat ~/.inputrc)
) tidak akan berfungsi. Ini agak menyebalkan. Apakah Anda tahu apa yang bisa saya lakukan dalam hal ini?Ini berhasil untuk saya
bind -f ~/.inputrc
https://unix.stackexchange.com/questions/153357/inputrc-file-not-sourcing-correctly/246422#246422
sumber
Di .inputrc, pertama-tama pilih penjilidan Anda dan setelah mengikat
re-read-init-file
fungsi:Tekan CTRLdan x, lepaskan keduanya, tekan CTRLdan r.
sumber