8 votos

Choque de dos gedit plugins. Cómo cambiar teclas de método abreviado, o activar o desactivar un plugin

Gedit tiene dos plugins de Gnome Gedit página de Plugins que yo particularmente quiero...

Sin embargo, ambos compiten por el mismo teclas de acceso directo: Ctrl+re pág o Ctrl+Avpág

Puedo ver dos posibles soluciones, y tal vez haya más,,,(por lo general hay :)

La mejor solución puede ser cambiar el atajo de teclas Multi-edit a Mayús+Ctrl+Repág y Mayús+Ctrl+Avpág... pero tengo muy poco de python conocimiento, y cómo hacer que se me escapa..

El método más sencillo (para mí) es que se acaba de activar/desactivar a través de otro acceso directo de la tecla. Sé el comando para cambiar el Multi-función de edición de encendido/apagado (pero no la totalidad de la secuencia de comandos)... Básicamente, para esta opción, necesito un comando para cambiar el estado de un Gedit Plugin de encendido/apagado..

Cualquiera de las dos, o a ambos (o a otros) soluciones se agradece...

ACTUALIZACIÓN: estoy buscando un comando de línea de comandos (vs, un comando de menú),
y/o una 'revisión' de Multi-editar la secuencia de comandos de python.

Nota: El 'Editar accesos directos" plugin no muestra el Multi-edit plugin... (así que no puedo hacerlo de esa manera)

44voto

Peter Hilton Puntos 10580

Después de finalmente encontrar una referencia a plugins de gedit, he puesto juntos un script de bash...

Porque este script es exclusivo de gedit, añadiendo mediante herramientas externas de gedit localiza el alcance de su opción de tecla de método abreviado para gedit sólo... Estoy usando Ctrl + NumPad7 (porque está muy cerca de PageUp y 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  

3voto

Craig Smitham Puntos 522

Escribí la siguiente secuencia de comandos de python (descargar) que activa/desactiva el Multi-edit plugin:

#!/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)

Para alternar Multi-edit con un método abreviado de teclado:

  1. Guardar la secuencia de comandos como toggle-multi-edit.py en tu carpeta de inicio.

  2. Abierto hasta Sistema → Preferencias → accesos directos del Teclado. Haga clic en Agregar y poner python /home/<user>/toggle-multi-edit.py para el Comando, reemplazando <user> con tu nombre de usuario.

    alt text

1voto

wilhelmtell Puntos 25504

Su simple :)

La habilitación de

  1. Edición > Preferencias

  2. Ahora mira a los Plugins sección.

  3. Seleccione la casilla de verificación junto al nombre de la conexión que desea habilitar.

  4. Usted puede ahora haga Clic en Cerrar para cerrar Gedit, y Luego comienza de nuevo

La desactivación de

  1. Edición > Preferencias

  2. Ahora mira a los Plugins sección.

  3. Anule la selección de la casilla de verificación junto al nombre de la conexión que desea habilitar.

  4. Usted puede ahora haga Clic en Cerrar para cerrar Gedit, y Luego comienza de nuevo

0voto

Amanda Puntos 2830

Yo era / soy navegación con regex y ipython plugins, que tanto desea ejecutar ctrlr. Olía todo en "regexsearchinstance.py" (en ~/.local/share/gedit/plugins/regex_replace) y encontré este:

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)

He cambiado una línea:

action_group.add_action_with_accel(action, "<control><shift>f")

y dejar de gedit. Ahora regex búsquedas de carga en ctrlshfitf. Veo una línea comparable en /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)])

Así que si quieres editar los plugins por lo que se utilizan diferentes métodos abreviados de forma predeterminada, curiosear por <Control> o <control> o add_action en el plugin de archivo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: