web-dev-qa-db-fra.com

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

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)

8
Peter.O

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:

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

  2. 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.

    alt text

3
Isaiah

C'est simple :)

Activer

  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 Fermer pour fermer Gedit, puis le redémarrer

désactivation

  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 Fermer pour fermer Gedit, puis le redémarrer

2
Micheal Harker

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  

2
Peter.O

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.

0
Amanda