it-swarm.com.de

Gedit verfügt über eine nicht aufgeführte Strg-D-Verknüpfung, mit der eine Zeile gelöscht wird. Wie kann ich es überschreiben?

In Gedit habe ich das line_tools Plugin installiert. Mit Strg + D wird die aktuelle Zeile dupliziert. Wenn ich Strg + D drückte, war das Gegenteil der Fall! Stattdessen wurde die Zeile gelöscht!

Es stellt sich heraus, dass Gedit eine nicht aufgeführte (nicht im Menü) Tastenkombination hat: Strg + D, die ein löscht Linie.

Es ist recht einfach, die Tastenkombination any für Menüelemente in Gedit zu ändern, indem Editable Menu Accelerators aktiviert wird, aber ich kann diese nicht ändern delete-line = Aktionstaste, da kein Menüpunkt dafür vorhanden ist!

Wie kann ich diese delete-line Aktion überschreiben? .. und welche anderen nicht aufgelisteten Aktionen hat Gedit? .. und warum ist es (sie?) nicht aufgeführt?

PS: Der Entwickler der 'line_tools' stellt das Plugin mit Strg + D auf 'Duplizieren'. Ich nehme an, er hat es getestet. was darauf hindeuten würde, dass es keinen solchen Konflikt gab, um 2008-01-30 (der Zeitstempel auf dem heruntergeladenen line_tools.py)

5
Peter.O

Ich habe eine Problemumgehung für diese spezielle Verknüpfung Ctrl+D gefunden ...

Es war interessant zu sehen, dass die meisten auf der Site, auf der ich es gefunden habe Notepad ++ - Benutzer waren (ich auch :), wobei Strg + D die Verknüpfung "delete-line" war ...

Der "Fix" beinhaltet eine einfache Modifikation der 'gedit'-Binärdatei ... Es wird ein Byte eines Namens geändert, so dass die Verknüpfungsreferenz ungültig wird ...
Dadurch wird die Tastenkombination Strg + D freigegeben, und das Plugin funktioniert normal. Der neue Menüpunkt Strg + D kann bearbeitet werden.

Der einzige Nebeneffekt scheint zu sein, dass eine "Warnung" ausgegeben wird, die Sie sehen können, wenn Sie "gedit" vom Terminal aus starten ...
Da dies ein "Hack" (im gröbsten Sinne des Wortes) ist, ist es möglich, dass es andere Nebenwirkungen gibt, z. Vielleicht wird etwas nicht richtig aufgeräumt ... aber ich werde es benutzen ...

Hier ist der 2-minütige Hack:
(Der Fix muss erneut angewendet werden, wenn gedit aktualisiert wird.)

# Make a backup of 'gedit' binary
Sudo cp /usr/bin/gedit{,.before-ctrl+d-hack} 

# Hexedit the 'gedit' binary ...(I've used 'ghex2`)
gksu ghex2 /usr/bin/gedit

# In 'ghex2' 
#     Find the string: delete_from_cursor
#     Replace it with: #elete_from_cursor
#
# Save the binary, and exit... 
#
2
Peter.O

Ich mag die Idee, eine binäre Bearbeitung durchzuführen. Der oben beschriebene Vorgang erscheint jedoch zu umständlich.

Hier ist eine viel einfachere und zuverlässigere Methode:

Sudo sed -i "s/delete_from_cursor/_elete_from_cursor/g" /usr/bin/gedit
3
Stephen Boesch