為什麼我看不到“stty -a”中反映的 stty 關鍵更改

為什麼我看不到“stty -a”中反映的 stty 關鍵更改

我正在嘗試更改控制台(Konsole)中的一些按鍵綁定。如果我將 intr 映射到 Ctrl-k,透過運行

stty intr \^k

我沒有看到變化反映在

stty -a
speed 38400 baud; rows 46; columns 172; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

為什麼會這樣呢?

請注意 Ctrl-K 正在發送中斷。 Ctrl-C 繼續發送中斷。如果我嘗試透過運行取消映射 Ctrl-C

stty intr ^-

或者

stty intr undef

它不會變得未定義,並且 stty -a 仍然顯示與之前一樣,帶有“intr = ^C;”


更新:我現在懷疑這與我正在運行的外殼(魚)有關。在另一個 Konsole 選項卡中,我使用不同的配置文件,以便使用 bash,我得到了預期的行為。

答案1

這已經被永遠打破了。看

https://github.com/fish-shell/fish-shell/issues/2315

https://github.com/fish-shell/fish-shell/issues/814

https://github.com/fish-shell/fish-shell/issues/1041

還有其他幾個。解決方法是使用 bash、zsh、ksh 或 sh 運行stty命令,然後執行exec fish

相關內容