題 我如何重新加載.inputrc?


背景

我聽說過 的ReadLine 模塊在讀 ~/.inputrc 這就是它如何改變bash等程序下的擊鍵行為。

如何在編輯後重新加載此內容,以便在不重新啟動終端程序的情況下查看更改的行為?


79
2018-02-03 11:31


起源


背景 (沒有錯)。 - Dennis Williamson
我來到這裡尋找如何使用命令加載.inputrc。 superuser.com/q/419670/56544 - dfrankow
@CaptainLepton我看到了。終端與shell不同。幹 exec bash 在Bash會話中,將使用新的Bash會話替換當前的shell會話。 xterm 是一個終端。 - Kusalananda
@Kusalananda感謝您的澄清。那是一個好主意。您是否可以將運行> exec bash描述為在當前終端中運行新shell而不是重新啟動bash,因為您要替換以前的可執行文件? - Captain Lepton
是的,沒有辦法“重新啟動”當前的shell會話。這是 一 這樣做的方式。使用@maxelost給出的解決方案是另一個。 - Kusalananda


答案:


默認情況下, C-x C-r 一定會 re-read-init-file

Bash參考手冊 解釋。


74
2018-02-03 11:36



這對我不起作用。我在.inputrc文件中嘗試了不同的映射,也沒有運氣:“\ eX \ eR”:re-read-init-file有什麼建議嗎? - Captain Lepton
@Captain實際上,確實如此,但事實並非如此 明確 在此期間刪除的擊鍵。如果你是添加一些,它們被加載。您唯一的解決方案是新的 bash -l (行為類似於登錄shell的shell)剛剛初始化。 - Daniel Beck♦
我正在編輯 /etc/inputrc 但我幾乎是空的 ~/.inputrc 這阻止了那個 /etc/ 從使用。刪除 ~/.inputrc 導致它閱讀 /etc/inputrc 並使我的更改生效。 - Malvineous


您還可以使用命令行重新加載新條目 bind -f ~/.inputrc。這將加載.inputrc中的條目。請注意,它只是執行加載,而不是“重新加載” - 因此它不會重置您碰巧從.inputrc中刪除的任何行。

要從乾淨的石板上快速測試,只需運行即可 bash 然後在新的嵌套shell中工作(或啟動一個新的終端)。


40
2018-04-11 19:38





在.inputrc中首先選擇你的綁定並在綁定之後 re-read-init-file 功能:

set editing-mode vi
"\C-x\C-r": re-read-init-file

CTRL 和 X,釋放兩個,按 CTRL 和 [R


10
2018-03-10 14:58





這對我有用

bind -f ~/.inputrc

https://unix.stackexchange.com/questions/153357/inputrc-file-not-sourcing-correctly/246422#246422


9
2017-10-03 16:48