Это можно сделать используя gedit Snippets. Они доступны как часть плагинов gedit из репозиториев вашего дистрибутива.
После того, как они установлены, откройте gedit, перейдите в Edit -> Preferences -> Plugins и включите сниппеты.
Теперь вам нужно создать новый фрагмент, который довольно прост и удивительно экономит время для кода, который вы часто пишете.
1. Перейдите в Инструменты -> Управление фрагментами.
2. Найдите язык / тип файла, для которого вы хотите использовать фрагмент (или «Глобальный для всех»), и нажмите значок «+», чтобы создать новый фрагмент.
3. Назовите фрагмент, затем щелкните в текстовом поле "Сочетание клавиш" справа и нажмите комбинацию клавиш, которую вы хотите использовать: например, Shift_ctrl_%
4. Затем в поле справа введите:
$<
import re
lines = $GEDIT_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
output += re.sub('^%((.)*)', r"\1\n", line)
return output
>
При этом используется регулярное выражение python, чтобы удалить только первый символ в строке, если это «%».
примечание: вы можете использовать любой код Python во фрагменте, например, если вы хотите удалить несколько экземпляров '%' или '#' в начале строки, вы можете использовать lstrip.
$<
lines = $GEDIT_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
output += line.lstrip('%#') + "\n"
return output
>
5. После создания фрагмента нажмите кнопку «Закрыть», выделите текст и нажмите клавишу быстрого доступа.
примечание: если вы хотите фрагмент, который вернет% назад к началу всех выделенных строк:
$<
lines = $GEDIT_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
output += "%" + line + "\n";
return output
>
примечание: по какой-то причине фрагменты с сочетаниями клавиш работают (для меня) только тогда, когда они определены для определенного языка. Глобальные сочетания клавиш не работают, но триггеры вкладок для них работают, мммм.
Больше информации о фрагментах на http://live.gnome.org/Gedit/Plugins/Snippets