Gedit 有两个插件Gnome 的 Gedit 插件页面我特别想要...
然而它们都争夺相同的快捷键:Ctrl+PageUp 和 Ctrl+PageDown
我可以看到两种可能的解决方案,也许还有更多......(通常都有:)
最好的解决方案可能是将多编辑中的快捷键更改为 Shift+Ctrl+PageUp 和 Shift+Ctrl+PageDown...但是我对 Python 了解甚少,不知道该怎么做。
对我来说,最简单的方法就是通过另一个快捷键来打开/关闭它们。我知道打开/关闭多编辑功能的命令(但不知道整个脚本)...基本上,对于这个选项,我需要一个命令来打开/关闭 Gedit 插件。
无论是其中一种,还是两种(或其他)解决方案都将受到赞赏......
更新:我正在寻找命令行命令(与菜单命令相比),
和/或 Multi-edit 的 python 脚本的“修复”。
注意:“编辑快捷方式”插件不显示多编辑插件...(所以我不能那样做)
答案1
我编写了以下 Python 脚本(下载)启用/禁用多编辑插件:
#!/usr/env/python
import re
import commands
active_plugins = commands.getoutput("gconftool --get /apps/gedit-2/plugins/active-plugins")
r1 = re.compile(r'multi_edit')
if r1.search(active_plugins):
# Disable multi-edit plugin
active_plugins = re.sub("multi_edit,|,multi_edit","", active_plugins)
else:
# Enable multi-edit plugin
active_plugins = re.sub("]",",multi_edit]", active_plugins)
commands.getoutput("gconftool --set --type=list --list-type=string /apps/gedit-2/plugins/active-plugins "+active_plugins)
要使用键盘快捷键切换多重编辑:
将脚本保存为
toggle-multi-edit.py
您的主文件夹。打开系统 → 偏好设置 → 键盘快捷键。 点击添加并
python /home/<user>/toggle-multi-edit.py
把命令,替换<user>
为您的实际用户名。
答案2
这很简单 :)
启用
编辑 > 首选项
现在看看插件部分。
选中要启用的插件名称旁边的复选框。
您现在可以点击关闭关闭 Gedit,然后重新启动
禁用
编辑 > 首选项
现在看看插件部分。
取消选中要启用的插件名称旁边的复选框。
您现在可以点击关闭关闭 Gedit,然后重新启动
答案3
最终找到对 gedit 插件的参考后,我编写了一个 bash 脚本……
因为这个脚本是 gedit 独有的,所以通过 gedit 的外部工具添加它会将您选择的快捷键的范围局限于 gedit。我使用的是 Ctrl+NumPad7(因为它非常接近 PageUp 和 PageDown)...
#!/bin/bash
# Toggle gedit plugin ControlYourTabs ON/OFF, with inverse switching for
# Multi-Edit's "Columns Always Available" feature, which uses same shortcuts
# ==========================================================================
cytab=controlyourtabs
plugins=$(gconftool-2 --get /apps/gedit-2/plugins/active-plugins)
#
if [[ "$plugins" =~ ^\[(.+,)*$cytab(,.+)*\]$ ]] ; then
#
# "Control Your Tabs" found in list... Disable it
# and enable "Multi Edit - Columns Always Available"
#
if [[ "$plugins" =~ ^.+\,$cytab(,.+)*\]$ ]] ; then plugins=${plugins/,${cytab}/}
elif [[ "$plugins" =~ ^\[$cytab\,.+$ ]] ; then plugins=${plugins/${cytab},/}
elif [[ "$plugins" =~ ^\[$cytab\]$ ]] ; then plugins=[]
else echo "Logic Error in one of the regex patterns"; exit 1
fi
multi=true
else
# "Control Your Tabs" NOT found in list... Enable it
# and disable "Multi Edit - Columns Always Available"
#
plugins=${plugins%]},$cytab]
multi=false
fi
#
gconftool-2 --set /apps/gedit-2/plugins/active-plugins --type=list --list-type=string "$plugins"
gconftool-2 --set /apps/gedit-2/plugins/multi_edit/columns_always_avail --type bool $multi
答案4
我曾经/现在正在使用正则表达式和伊帕特里克插件,两者都想在 上运行ctrlr。我在“regexsearchinstance.py”(在 中~/.local/share/gedit/plugins/regex_replace
)中嗅探了一下,发现了以下内容:
def create_menu_item(self):
"""
Create a menu item in the "Tools" menu.
"""
action = gtk.Action("RegexSearch",
_("Regular expression..."),
_("Search using regular expressions"), None)
action.connect("activate", self.on_open_regex_dialog)
action_group = gtk.ActionGroup("RegexSearchActions")
action_group.add_action_with_accel(action, "<control>r")
manager = self._window.get_ui_manager()
manager.insert_action_group(action_group, -1)
manager.add_ui_from_string(ui_str)
我把其中一行改成:
action_group.add_action_with_accel(action, "<control><shift>f")
然后退出 gedit。现在正则表达式搜索加载在 上ctrlshfitf。我在 中看到了类似的一行/usr/lib/gedit/plugins/ipython.py
:
self._action_group.add_actions([('IPython', None,
_('Run in IPython'), '<Control>r', _('Clear the document'),
self.send_to_ipython)])
因此,如果您想要实际编辑插件,以便它们默认使用不同的快捷方式,请在插件文件中寻找<Control>
或。<control>
add_action