Isso pode ser feito usando os Snippets do gedit. Eles estão disponíveis como parte dos plug-ins do gedit nos repositórios da sua distribuição.
Quando eles estiverem instalados, abra o gedit, vá para Editar - > Preferências - > Plugins e ative snippets.
Agora você precisa criar o novo snippet, que é bastante simples e uma incrível economia de tempo para o código que você escreve com frequência.
1. Vá para Ferramentas - > Gerenciar snippets.
2. Encontre o idioma / tipo de arquivo para o qual você deseja usar o snippet (ou Global para todos) e clique no ícone '+' para criar um novo snippet.
3. Nomeie o trecho, depois clique na caixa de texto "tecla de atalho" à direita e pressione a combinação de teclas de atalho que deseja usar. Shift_ctrl _%
4. Em seguida, na caixa à direita, digite:
$<
import re
lines = $GEDIT_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
output += re.sub('^%((.)*)', r"\n", line)
return output
>
Isso usa uma expressão regular de python para remover apenas o primeiro caractere em uma linha, se for '%'.
note: você pode usar qualquer código python em um snippet, por exemplo, se você quiser remover várias instâncias de '%' ou '#' no início de uma linha que você pode usar lstrip.
$<
lines = $GEDIT_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
output += line.lstrip('%#') + "\n"
return output
>
5. Depois de criar o snippet, clique em fechar, destaque seu texto e pressione a tecla de atalho.
nota: Se você quiser um snippet que retornará% de volta ao início de todas as linhas destacadas:
$<
lines = $GEDIT_SELECTED_TEXT.split("\n");
output = "";
for line in lines:
output += "%" + line + "\n";
return output
>
note : por algum motivo, os snippets com teclas de atalho só funcionam (para mim) quando são definidos para um idioma específico. Teclas de atalho globais não funcionam, mas a guia dispara para elas, ymmv.
Mais informações sobre snippets em link