在 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...
#