Gedit a deux plugins de la page des plugins Gedit de Gnome que je veux particulièrement ...
Cependant, ils se disputent les mêmes touches de raccourci: Ctrl + Page précédente et Ctrl + Page suivante
Je peux voir deux solutions possibles, et peut-être il y en a plus , (il y en a généralement :)
La meilleure solution peut être de changer les clés de raccourci dans Édition multiple en Maj + Ctrl + Page Up et Maj + Ctrl + Page Suivante ... mais j'ai très peu de connaissances python et comment le faire échappe moi..
La méthode la plus simple (pour moi) consiste à les activer/désactiver via une autre touche de raccourci. Je connais la commande pour activer/désactiver la fonctionnalité d'édition multiple (mais pas le script en entier) ... Pour cette option, j'ai besoin d'une commande permettant d'activer/désactiver un plugin Gedit.
Des solutions (ou les deux (ou d'autres)) seraient appréciées ...
UPDATE: Je recherche une commande en ligne de commande (vs, une commande de menu ),
et/ou un 'correctif' pour le script python de Multi-edit.
Note: Le plugin 'Edit Shortcuts' ne montre pas le plugin Multi-edit ... (donc je ne peux pas le faire de cette façon)
J'ai écrit le script python suivant ( download ) qui active/désactive le plug-in 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)
Pour basculer l’édition multiple avec un raccourci clavier:
Enregistrez le script sous toggle-multi-edit.py
dans votre dossier personnel.
Ouvrez Système → Préférences → Raccourcis clavier . Cliquez sur Ajouter et mettez python /home/<user>/toggle-multi-edit.py
pour la commande , en remplaçant <user>
avec votre nom d'utilisateur actuel.
C'est simple :)
Activer
Édition> Préférences
Maintenant, regardez la section Plugins.
Cochez la case en regard du nom du plug-in que vous souhaitez activer.
Vous pouvez maintenant cliquer Fermer pour fermer Gedit, puis le redémarrer
désactivation
Édition> Préférences
Maintenant, regardez la section Plugins.
Décochez la case en regard du nom du plug-in que vous souhaitez activer.
Vous pouvez maintenant cliquer Fermer pour fermer Gedit, puis le redémarrer
Après avoir finalement trouvé une référence aux plugins de gedit, j'ai mis en place un script bash ...
Comme ce script est exclusif à gedit, son ajout via les outils externes de gedit localise la portée de votre choix de touche de raccourci sur gedit uniquement .. J'utilise Ctrl + NumPad7 (car il est très proche de PageUp et 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
Je naviguais avec les plugins regex et ipython , que les deux veulent utiliser ctrlr. J'ai reniflé dans "regexsearchinstance.py" (dans ~/.local/share/gedit/plugins/regex_replace
) et j'ai trouvé ceci:
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)
J'ai changé une ligne en:
action_group.add_action_with_accel(action, "<control><shift>f")
et quittez gedit. Maintenant, les recherches regex se chargent ctrlshfitf. Je vois une ligne comparable dans /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)])
Donc, si vous voulez réellement éditer les plugins de manière à utiliser différents raccourcis par défaut, recherchez le code <Control>
ou <control>
ou add_action
dans le fichier du plugin.