Я хотел бы отключить эту insertклавишу на клавиатуре, так как я часто нажимаю ее случайно при наборе текста, и это портит мой текст.
Я обнаружил, что могу использовать xmodmap
для полного отключения клавиши вставки:
xmodmap -e "keycode 106 ="
Это работает, но есть еще одна проблема. Оказывается, midnight commander
использует insertклавишу для совершенно другой цели. Не для переключения перепечатки, как в текстовом редакторе, а для выбора нескольких файлов.
Эта функция mc
на самом деле полезна, и я ею довольно часто пользуюсь.
Есть ли способ отключить insertклавишу в текстовых редакторах в ее роли ВКЛ/ВЫКЛ замены, но оставить ее во второй роли «выбора файлов» в mc
?
решение1
Сделайте так, чтобы Insertклавиша отправляла другой keysym (символическое имя клавиши, определяющее, какой ее считают приложения клавиш), например F25
.
xmodmap -e "keycode 106 = F25"
Настройте mc для распознавания f25
в качестве привязки для Mark
команды: copy /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