Deux plugins gedit s’affrontent. Comment changer les raccourcis clavier, ou activer / désactiver un plugin

Gedit a deux plugins de la page Gedit Plugins de Gnome que je veux particulièrement …

  • Multi-édition
  • Contrôlez vos tabs

Cependant, ils se disputent les mêmes raccourcis clavier: Ctrl + Page précédente et Ctrl + Page suivante

Je peux voir deux solutions possibles, et peut-être qu’il y en a d’autres ,,, (il y en a généralement 🙂

La meilleure solution consiste peut-être à changer les clés de raccourci dans Édition multiple en Maj + Ctrl + Page précédente et Maj + Ctrl + Page suivante …

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 cherche 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 ( téléchargement ) qui active / désactive le plugin Multi-edit:

#!/usr/env/python import re import commands active_plugins = commands.getoutput("gconftool --get /apps/gedit-2/plugins/active-plugins") r1 = re.comstack(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=ssortingng /apps/gedit-2/plugins/active-plugins "+active_plugins) 

Pour basculer en édition multiple avec un raccourci clavier:

  1. Enregistrez le script sous le nom toggle-multi-edit.py dans votre dossier personnel.

  2. Ouvrez Système → Préférences → Raccourcis clavier . Cliquez sur Ajouter et mettez python /home//toggle-multi-edit.py pour la commande , en remplaçant par votre nom d’utilisateur actuel.

    texte alternatif

C’est simple 🙂

Permettant

  1. Édition> Préférences

  2. Maintenant, regardez la section Plugins .

  3. Cochez la case en regard du nom du plug-in que vous souhaitez activer.

  4. Vous pouvez maintenant cliquer sur Fermer pour fermer Gedit, puis le redémarrer

Désactiver

  1. Édition> Préférences

  2. Maintenant, regardez la section Plugins .

  3. Décochez la case en regard du nom du plug-in que vous souhaitez activer.

  4. Vous pouvez maintenant cliquer sur 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 Outils externes de gedit localise la scope 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=ssortingng "$plugins" gconftool-2 --set /apps/gedit-2/plugins/multi_edit/columns_always_avail --type bool $multi 

Je naviguais avec des plugins pour regex et ipython , que les deux veulent exécuter sur ctrl r . J’ai reniflé dans “regexsearchinstance.py” (dans ~/.local/share/gedit/plugins/regex_replace ) et ~/.local/share/gedit/plugins/regex_replace 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, "r") manager = self._window.get_ui_manager() manager.insert_action_group(action_group, -1) manager.add_ui_from_ssortingng(ui_str) 

J’ai changé une ligne en:

 action_group.add_action_with_accel(action, "f") 

et quittez gedit. Maintenant, les recherches sur les expressions rationnelles se chargent dans ctrl shfit f . Je vois une ligne comparable dans /usr/lib/gedit/plugins/ipython.py :

 self._action_group.add_actions([('IPython', None, _('Run in IPython'), 'r', _('Clear the document'), self.send_to_ipython)]) 

Donc, si vous voulez réellement éditer les plugins afin qu’ils utilisent différents raccourcis par défaut, recherchez l’option ou ou add_action dans le fichier plugin.