Hai plugin gedit đụng độ. Cách thay đổi phím tắt hoặc bật / tắt plugin


8

Gedit có hai plugin từ trang Gedit Plugins của Gnome mà cả hai tôi đặc biệt muốn ...

Tuy nhiên, cả hai đều tranh nhau các phím tắt giống nhau: Ctrl + PageUp và Ctrl + PageDown

Tôi có thể thấy hai giải pháp khả thi và có thể có nhiều ,,, (thường là :)

Giải pháp tốt nhất có thể là thay đổi các phím tắt trong Multi-edit thành Shift + Ctrl + PageUp và Shift + Ctrl + PageDown ... nhưng tôi có rất ít kiến ​​thức về python và cách thực hiện nó thoát khỏi tôi ..

Phương pháp đơn giản nhất (đối với tôi) là chỉ bật / tắt chúng thông qua một phím tắt khác. Tôi biết lệnh bật / tắt tính năng Đa chỉnh sửa (nhưng không phải toàn bộ tập lệnh) ... Về cơ bản, đối với tùy chọn này, tôi cần một lệnh để bật / tắt Trình cắm Gedit ..

Hoặc, hoặc cả hai (hoặc giải pháp khác) sẽ được đánh giá cao ...

CẬP NHẬT : Tôi đang tìm kiếm một dòng lệnh (vs, lệnh menu)
và / hoặc 'sửa chữa' cho tập lệnh python của Multi-edit.

Lưu ý: Plugin 'Chỉnh sửa lối tắt' không hiển thị plugin Đa chỉnh sửa ... (vì vậy tôi không thể làm theo cách đó)

Câu trả lời:


3

Tôi đã viết đoạn script python ( tải xuống ) sau đây cho phép / vô hiệu hóa plugin 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)

Để chuyển đổi Đa chỉnh sửa bằng phím tắt:

  1. Lưu tập lệnh như toggle-multi-edit.pytrong thư mục nhà của bạn.

  2. Mở hệ thống → Tùy chọn → Phím tắt . Nhấp vào Thêm và đặt python /home/<user>/toggle-multi-edit.pycho Lệnh , thay thế <user>bằng tên người dùng thực tế của bạn.

    văn bản thay thế


Cảm ơn DoR .. Tôi đã bận rộn và quay lại trang để đăng kịch bản bash của mình :) .. Tôi rất muốn xem kịch bản python của bạn .. nhưng bây giờ tôi sẽ chỉ đăng bài của tôi .. (cần một break..It của là một tất cả-nighter) ....
Peter.O

Thật tốt ... Cảm ơn .... Python có một sự đơn giản mà tôi thích, nhưng tiếc là nó không đơn giản với tôi (chưa) :) ... Tôi sẽ tập trung vào bash lâu hơn, để cố gắng để có được một sự hiểu biết sâu sắc về nó .. sau đó tôi sẽ nhìn sâu hơn vào con trăn ... (Tôi đã cố gắng cho bạn +1 nhưng nó nói rằng tôi đã đánh dấu bạn 2 giờ trước .. Tôi nhớ tôi đã cho bạn +1 , sau đó tôi rút lại nó cho đến khi tôi có thể có một cái nhìn tốt về câu trả lời ... Bây giờ nó nói rằng tôi không thể thay đổi bất cứ điều gì cho đến khi câu trả lời được sửa đổi / chỉnh sửa ..
Peter.O

@ fred.bear Tôi đã thực hiện một chỉnh sửa nhỏ để bạn có thể bỏ phiếu ngay bây giờ;)
Ê-sai

2

Nó đơn giản :)

Cho phép

  1. Chỉnh sửa> Tùy chọn

  2. Bây giờ hãy nhìn vào phần Plugins .

  3. Chọn hộp kiểm bên cạnh tên của plugin mà bạn muốn kích hoạt.

  4. Bây giờ bạn có thể Nhấp vào Đóng để đóng Gedit, sau đó khởi động lại

Vô hiệu hóa

  1. Chỉnh sửa> Tùy chọn

  2. Bây giờ hãy nhìn vào phần Plugins .

  3. Bỏ chọn hộp kiểm bên cạnh tên của plugin mà bạn muốn kích hoạt.

  4. Bây giờ bạn có thể Nhấp vào Đóng để đóng Gedit, sau đó khởi động lại


Cảm ơn Michael .. Tôi dường như chưa làm rõ .. Tôi giả sử mọi người đều thấy từ "lệnh" như tôi ... nhưng họ không ... Tôi có nghĩa là một lệnh dòng lệnh (và bạn nghĩ: lệnh menu) .. Tôi phải ghi lại câu hỏi của mình .. (+1 .. bạn đã trình bày một câu trả lời rất rõ ràng)
Peter.O

2

Sau khi cuối cùng cũng tìm thấy một tài liệu tham khảo về các plugin của gedit, tôi đã tập hợp một tập lệnh bash ...

Bởi vì tập lệnh này là độc quyền cho gedit, nên thêm nó thông qua Công cụ bên ngoài của gedit bản địa hóa phạm vi bạn chọn phím tắt để chỉ gedit .. Tôi đang sử dụng Ctrl + NumPad7 (vì nó rất gần với PageUp và 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  


0

Tôi đã / đang điều hướng cái này với các plugin regexipython , cả hai đều muốn chạy ctrlr. Tôi đã đánh hơi xung quanh trong "regexsearchinstance.py" (trong ~/.local/share/gedit/plugins/regex_replace) và tìm thấy điều này:

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)

Tôi đã thay đổi một dòng thành:

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

và bỏ gedit. Bây giờ regex tìm kiếm tải trên ctrlshfitf. Tôi thấy một dòng so sánh trong /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)])

Vì vậy, nếu bạn muốn thực sự chỉnh sửa các plugin để họ sử dụng các phím tắt khác nhau theo mặc định, đánh hơi xung quanh cho <Control>hay <control>hoặc add_actiontrong file plugin.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.