Gedit имеет незарегистрированный ярлык Ctrl-D, который удаляет строку. Как я могу переопределить это?

В Gedit я установил плагин line_tools . Он использует Ctrl + D для дублирования текущей строки. Когда я нажал Ctrl + D, он сделал наоборот! Вместо этого он удалил строку!

Оказывается, у Gedit есть не в списке (нет в меню) сочетание клавиш: Ctrl + D, которое удаляет строку.

Довольно просто изменить клавишу быстрого доступа любого элемента меню в Gedit, включив Редактируемые ускорители меню , но я не могу изменить это delete- строка клавиша действия, потому что для нее нет пункта меню!

Как мне переопределить это действие delete-line ? .. а какие еще не зарегистрированные действия у Gedit? .. и почему это (они?) нет в списке?

PS: разработчик 'line_tools' предоставляет плагину с Ctrl + D, установленным в 'Duplicate'. Я предполагаю, что он проверял это; что предполагает, что такого столкновения не было около 2008-01-30 (временная метка на скачанном line_tools.py)

6
задан 13 April 2017 в 15:24

2 ответа

Я нашел обходной путь для этого конкретного ярлыка Ctrl+D ...

Было интересно увидеть, что большинство на сайте где я нашел его были пользователи Notepad ++ (я тоже :), где Ctrl + D был ярлыком «delete-line» ...

«Исправление» включает в себя простой мод для « gedit 'binary ... Он меняет один байт имени, поэтому ссылка на ярлык становится недействительной ...
Это освобождает ярлык Ctrl + D и позволяет плагину нормально функционировать, а новый пункт меню Ctrl + D можно редактировать.

Единственным побочным эффектом является то, что выдается «Предупреждение», которое вы можете увидеть, запустив «gedit» из терминала ...
Поскольку это «взлом» (в самом грубом смысле этого слова), возможно, что могут быть и другие побочные эффекты, например. возможно, что-то не очищается должным образом ... но я буду использовать это ...

Вот 2-х минутный хак:
(Исправление нужно будет повторно -применяется при обновлении gedit)

# 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... 
#
0
ответ дан 13 April 2017 в 15:24

Мне нравится идея сделать двоичное редактирование. Однако описанный выше процесс кажется слишком громоздким.

Вот гораздо более простой и надежный способ:

sudo sed -i "s/delete_from_cursor/_elete_from_cursor/g" /usr/bin/gedit
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: