Gedit имеет два плагина со страницы Gnome's Gedit Plugins , которые я особенно хочу ...
Однако они оба соперничают за одинаковые сочетания клавиш: Ctrl + PageUp и Ctrl + PageDown
Я вижу два возможных решения, и, возможно, есть больше ,,, (обычно есть :)
Лучшее решение может состоять в том, чтобы изменить сочетания клавиш в Multi-edit на Shift + Ctrl + PageUp и Shift + Ctrl + PageDown ... но я У меня очень мало знаний по Python, и как это избежать.
Самый простой способ (для меня) - просто включить / выключить их с помощью другой комбинации клавиш. Я знаю команду для включения / выключения функции Multi-edit (но не весь скрипт) ... По сути, для этой опции мне нужна команда для включения / выключения Gedit Plugin ..
Любое, или оба (или другие) решения приветствуются ...
ОБНОВЛЕНИЕ : Я ищу команду командной строки ( vs, команда меню),
и / или «исправление» для сценария Python Multi-edit.
Примечание: плагин «Edit Shortcuts» не показывает плагин Multi-edit ... (поэтому я не могу сделать это таким образом)
Я написал следующий скрипт Python ( скачать ), который включает / отключает плагин Multi-edit:
#!/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)
Чтобы включить Multi-edit с помощью сочетания клавиш:
Сохраните скрипт как toggle-multi-edit.py
в вашей домашней папке.
Откройте Система → Настройки → Сочетания клавиш . Нажмите , добавьте и поставьте python /home/<user>/toggle-multi-edit.py
для команды , заменив <user>
своим фактическим именем пользователя.
Это просто:)
Включение
Правка> Настройки
Теперь посмотрим на Раздел плагинов .
Установите флажок рядом с названием плагина, который вы хотите включить.
Теперь вы можете нажать Закрыть , чтобы закрыть Gedit, затем запустить его снова
Отключить
Редактировать> Предпочтения
Теперь рассмотрим раздел плагинов .
Снимите флажок рядом с именем плагина, который вы хотите включить.
Теперь вы можете нажать Закрыть , чтобы закрыть Gedit, затем запустить его снова
После того, как я наконец нашел ссылку на плагины 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
<ч> Я перебирал это с помощью плагинов regex и ipython , которые оба хотят работать на ctrl kbd> r kbd>. Я обнюхал в "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. Теперь поиск по регулярному выражению загружается на ctrl kbd> shfit kbd> f kbd>. Я вижу похожую строку в /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
. ] в файле плагина.