Gedit 有一个未列出的 Ctrl-D 快捷键,可以删除一行。我怎样才能覆盖它?

Pet*_*r.O 6 gedit shortcut-keys

Gedit 中,我安装了line_tools插件。它使用 Ctrl+D 复制当前行。当我按下 Ctrl+D 时,结果正好相反!它删除了该行!

事实证明,Gedit 有一个未列出 (不在菜单中)的快捷键:Ctrl+D,它可以删除一行。

通过启用Editable Menu Accelerators在 Gedit 中更改任何菜单项的快捷键非常简单,但我无法更改此 删除行操作的键,因为它没有菜单项!

如何覆盖此删除行操作?.. Gedit 还有哪些其他未列出的操作?.. 为什么它(他们?)未上市?

PS:'line_tools' 的开发者提供了 Ctrl+D 设置为 'Duplicate' 的插件。我假设他测试过它;这表明大约 2008-01-30 没有这样的冲突(下载的时间戳line_tools.py

Pet*_*r.O 2

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

有趣的是,我发现它的网站上大多数都是 Notepad++ 用户(我也是:),其中 Ctrl+D 是“删除行”快捷方式......

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

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

这是 2 分钟的 hack:(
更新 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... 
#
Run Code Online (Sandbox Code Playgroud)