Gedit 有一个未列出的 Ctrl-D 快捷键,用于删除一行。我该如何覆盖它?

Gedit 有一个未列出的 Ctrl-D 快捷键,用于删除一行。我该如何覆盖它?

在 Gedit 中,我安装了line_tools插件。它使用 Ctrl+D 复制当前行。当我按 Ctrl+D 时,它做了相反的事情!它反而删除了该行!

事实证明 Gedit 有一个未上市 (不在菜单中)快捷键:Ctrl+D,删除一行。

改变起来很简单任何通过启用 Gedit 中的菜单项快捷键可编辑菜单加速器但我没法改变这一点 删除行动作的键,因为没有它的菜单项!

我怎样才能覆盖这个删除行动作?.. Gedit 还有哪些其他未列出的动作?.. 为什么它(它们?)没有列出?

附言:'line_tools' 的开发人员提供的插件将 Ctrl+D 设置为“重复”。我认为他已经测试过了;这表明在 2008-01-30 左右没有发生过这样的冲突(下载的时间戳line_tools.py

答案1

我喜欢进行二进制编辑的想法。但是上述过程似乎太麻烦了。

这是一个更简单、更可靠的方法:

sudo sed -i "s/delete_from_cursor/_elete_from_cursor/g" /usr/bin/gedit

答案2

我找到了解决方法对于这个特定的Ctrl+D快捷方式...

有趣的是,我发现它的网站曾经是 Notepad++ 用户 (我也是 :),其中 Ctrl+D 是“删除行”的快捷键...

“修复”涉及对‘gedit’二进制文件进行简单的修改...它改变名称的一个字节,使得快捷方式引用变得无效...
这释放了 Ctrl+D 快捷方式,并允许插件正常运行,并且新的 Ctrl+D 菜单项是可编辑的。

唯一的副作用似乎是发出了“警告”,如果您从终端启动“gedit”,您就会看到这个警告...
因为这是一个“黑客行为”(从最粗略的意义上来说),所以可能会有其他副作用,例如,也许有些东西没有得到妥善清理...但我会使用它...

以下是 2 分钟的破解方法:(
更新 gedit 时需要重新应用此修复程序)

# Make a backup of 'gedit' binary
sudo cp /usr/bin/gedit{,.before-ctrl+d-hack} 

# Hexedit the 'gedit' binary ...(I've used 'ghex2`)
gksu ghex2 /usr/bin/gedit

# In 'ghex2' 
#     Find the string: delete_from_cursor
#     Replace it with: #elete_from_cursor
#
# Save the binary, and exit... 
#

相关内容