Geditには GnomeのGeditプラグインページ の2つのプラグインがあります。
ただし、これらは両方とも同じショートカットキーを争います:Ctrl + PageUpおよびCtrl + PageDown
私は2つの可能な解決策を見ることができます、そしておそらくもっとあるかもしれません、、、(通常あります:)
最善の解決策は、マルチ編集のショートカットキーをShift + Ctrl + PageUpおよびShift + Ctrl + PageDownに変更することですが、ほとんどpython知識と方法逃げるのか.
(私にとって)最も簡単な方法は、別のショートカットキーを使用してオン/オフを切り替えることです。 (スクリプト全体ではなく)マルチ編集機能のオン/オフを切り替えるコマンドを知っています...基本的に、このオプションには、Geditプラグインのオン/オフを切り替えるコマンドが必要です。
どちらか、または両方(またはその他)のソリューションを高く評価します...
[〜#〜] update [〜#〜]:コマンドラインを探していますコマンド(vs、メニューコマンド)、
および/またはマルチ編集の「修正」pythonスクリプト。
注:「ショートカットの編集」プラグインはマルチ編集プラグインを表示しません...(したがって、私はそれを行うことができません)
マルチ編集プラグインを有効/無効にする次のpythonスクリプト( download )を書きました。
#!/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
としてホームフォルダーに保存します。
System→Preferences→Keyboard Shortcutsを開きます。 Addをクリックし、Commandにpython /home/<user>/toggle-multi-edit.py
を入れて、置き換えます<user>
と実際のユーザー名。
簡単です :)
有効化
編集>設定
Pluginsセクションを見てください。
有効にするプラグインの名前の横にあるチェックボックスを選択します。
閉じるをクリックしてGeditを閉じてから、もう一度起動してください。
無効化
編集>設定
Pluginsセクションを見てください。
有効にするプラグインの名前の横にあるチェックボックスを選択解除します。
閉じるをクリックしてGeditを閉じてから、もう一度起動してください。
最終的にgeditのプラグインへの参照を見つけた後、bashスクリプトを作成しました...
このスクリプトはgedit専用であるため、geditの外部ツールを使用して追加すると、選択したショートカットキーのスコープがgeditのみにローカライズされます。
#!/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 プラグインでこれをナビゲートしていましたが、どちらも実行したいです 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)
1行を次のように変更しました。
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
を探ります。