我想停用insert鍵盤上的按鍵,因為我在打字時經常不小心按下它,它會弄亂我的文字。
我發現我可以用來xmodmap
完全停用插入鍵:
xmodmap -e "keycode 106 ="
這可行,但還有另一個問題。事實證明,midnight commander
將insert密鑰用於完全不同的目的。不是用於切換改寫,如在文字編輯器中,而是用於選擇多個檔案。
這個功能mc
其實很有用,我也常使用。
有沒有什麼方法可以禁用insert文字編輯器中的按鍵作為覆蓋開/關的角色,但保留它的第二個角色作為“選擇文件” mc
?
答案1
使Insert密鑰發送不同的密鑰符號(密鑰的符號名稱,決定應用程式認為它是什麼密鑰),例如F25
。
xmodmap -e "keycode 106 = F25"
配置 mc 以識別f25
為Mark
命令的綁定:複製/etc/mc.keymap
(或您正在使用的鍵盤映射所在的任何位置)並將~/.mc/mc.keymap
該行更改Mark = insert; ctrl-t
為Mark = insert; f25; ctrl-t
.
答案2
Midnight Commander 的大多數按鍵綁定都是可自訂的。您正在談論的功能似乎是標記,位於預設鍵盤映射檔中,例如/etc/mc.keymap
:
[panel]
Search = ctrl-s; alt-s
Mark = insert; ctrl-t
根據手冊頁,如果您提供自己的鍵盤映射檔案(並使其成為第一個找到的檔案),它將使用那文件而不是系統的鍵盤映射。透過分配標記對於不同的按鍵序列,您可以在導致問題的情況下mc
忽略。Insert
您可以透過以下方式查看鍵盤映射檔案Insert中使用的其他位置mc
dpkg -L mc |xargs grep -i -n insert 2>/dev/null
例如,它表明它用於InsertOverwrite
.
Binary file /usr/bin/mc matches
/etc/mc/mc.keymap.emacs:81:Mark = insert; ctrl-t
/etc/mc/mc.keymap.emacs:302:InsertFile = f15
/etc/mc/mc.keymap.emacs:304:InsertOverwrite = insert
/etc/mc/mc.keymap.emacs:322:InsertLiteral = ctrl-q
/etc/mc/mc.keymap.emacs:365:Up = k; y; insert; up; ctrl-p
/etc/mc/mc.keymap:80:Mark = insert; ctrl-t
/etc/mc/mc.keymap:220:Store = ctrl-insert
/etc/mc/mc.keymap:221:Paste = shift-insert
/etc/mc/mc.keymap:302:InsertFile = f15
/etc/mc/mc.keymap:304:InsertOverwrite = insert
/etc/mc/mc.keymap:322:InsertLiteral = ctrl-q
/etc/mc/mc.keymap:362:Up = k; y; insert; up; ctrl-p
/etc/mc/mc.keymap.default:80:Mark = insert; ctrl-t
/etc/mc/mc.keymap.default:220:Store = ctrl-insert
/etc/mc/mc.keymap.default:221:Paste = shift-insert
/etc/mc/mc.keymap.default:302:InsertFile = f15
/etc/mc/mc.keymap.default:304:InsertOverwrite = insert
/etc/mc/mc.keymap.default:322:InsertLiteral = ctrl-q
/etc/mc/mc.keymap.default:362:Up = k; y; insert; up; ctrl-p
/etc/mc/mcedit.menu:450:I Insert `Changelog' string
/etc/mc/mcedit.menu:467:i Insert a out of command to cursor.
Binary file /usr/bin/mcview matches
Binary file /usr/bin/mcdiff matches
Binary file /usr/bin/mcedit matches