O Gedit possui um atalho Ctrl-D não listado que exclui uma linha. Como posso anular isso?

5

No Gedit, instalei o plug-in line_tools . Ele usa Ctrl + D para duplicar a linha atual. Quando eu pressionei Ctrl + D, ele fez o oposto! Excluiu a linha em vez disso!

Acontece que o Gedit tem uma tecla de atalho não listada (não no menu) : Ctrl + D, que exclui uma linha.

É muito simples alterar a tecla de atalho do item de menu any no Gedit, ativando Editable Menu Accelerators , mas não posso alterar a chave da ação delete-line , porque não Não há item de menu para isso!

Como posso substituir essa ação excluir linha ? .. e que outras ações não listadas o Gedit tem? .. e por que é (eles?) não listado?

PS: O desenvolvedor do 'line_tools' fornece o plugin com Ctrl + D definido como 'Duplicate' .. Eu suponho que ele testou; o que sugere que não houve tal conflito por volta de 2008-01-30 (o timestamp no baixado line_tools.py )

    
por Peter.O 21.04.2011 / 12:56

2 respostas

2

Encontrei uma solução alternativa para esse atalho Ctrl+D específico ...

Foi interessante ver que a maioria no site onde eu o encontrei tem sido um usuário do Notepad ++ (eu também :), onde Ctrl + D era o atalho "delete-line" ...

A "correção" envolve um mod simples para o binário 'gedit' ... Ele altera um byte de um nome, para que a referência de atalho se torne inválida ...
Isso libera o atalho Ctrl + D e permite que o plug-in funcione normalmente, e o novo item de menu Ctrl + D é editável.

O único efeito colateral parece ser que um "Aviso" é emitido, o que você pode ver se você inicia o 'gedit' a partir do terminal ...
Porque este é um "hack" (no sentido mais abrupto da palavra), é possível que possa haver outros efeitos colaterais, por exemplo. talvez algo não seja limpo corretamente ... mas eu vou usá-lo ...

Aqui está o hack de 2 minutos:
(A correção precisará ser reaplicada quando o gedit for atualizado)

# 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... 
#
    
por Peter.O 21.04.2011 / 22:39
3

Eu gosto da ideia de fazer uma edição binária. No entanto, o processo descrito acima parece muito complicado.

Aqui está uma maneira muito mais simples e confiável:

sudo sed -i "s/delete_from_cursor/_elete_from_cursor/g" /usr/bin/gedit
    
por Stephen Boesch 12.07.2012 / 22:06