Bash
兩個 Enter 鍵的行為不同
我
alacritty
在 Zorin 16 下使用終端仿真器。我的兩個輸入鍵給出不同的輸出。% showkey -a Press any keys - Ctrl-D will terminate this program ^M 13 0015 0x0d ^J 10 0012 0x0a
主 Enter 鍵給出 ^M,數字鍵盤 Enter 鍵給出 ^J。
這對於 bash 和 zsh 都是如此。
我希望兩個鍵都給 ^M。
我怎樣才能做到這一點?
是的,它似乎
alacritty
預設配置為在鍵盤輸入時發送 LF(又名\n
,^J
),並且無論是否啟用應用程序鍵盤模式(之後tput smkx
),即使 terminfo 條目(至少在 Ubuntu 20.04 上)具有kent=\EOM
,而所有其他終端發送 CR(和大多數發送\EOM
之後tput smkx
)。您可以通過添加來更改它:
key_bindings: - { key: NumpadEnter, chars: "\r" }
對於您的
~/.config/alacritty.yml
(或該文件的首選路徑,有幾個選項,請參閱手冊)。請注意,無論如何,終端設備驅動程序通常預設配置為在輸入時自動將 CR 轉換為 LF(
icrnl
在 的輸出中查找stty -a
),因此在實踐中通常不會有太大區別。只有那些禁用該設置的 TUI 應用程序(就像showkey
那樣),您可能會看到不同之處。