Terminal
自定義回滾緩衝區導航鍵
我正在使用基於 VTE 的終端。通過在 bash 會話中手動發送以下命令,我看到回滾緩衝區向上移動了一行,因此我非常確信轉義序列是正確的:
printf "\e[2T"
然後我將它添加到我的
.inputrc
但它不起作用。我嘗試了各種鍵和轉義序列的組合但沒有成功:每當我按下CTRL``k
它時,它就會退出 vi 插入模式,僅此而已。這是我的完整
.inputrc
set editing-mode vi # Line cursor in editing mode, block cursor in command mode set vi-ins-mode-string \1\e[5 q\2 set vi-cmd-mode-string \1\e[2 q\2 set show-mode-in-prompt on set keymap vi-insert Control-l: clear-screen Control-k: "\e[2T" Control-j: "\e[S" set keymap vi-command Control-k: "\e[2T" Control-j: "\e[S"
正如@egmont 在評論中強調的那樣,用於滾動回滾緩衝區的鍵綁定是硬編碼在 libvte 中的。
有一些基於 vte 的終端,例如terminator或tilix,允許自定義鍵綁定以管理回滾緩衝區。我不知道這是如何實現的,但是在我自己測試之後,我可以確認這正是我想要的。