código lisp de configuração do Emacs que altera o modo de recuo-elétrico antes e depois de colar da área de transferência

2

Começando no Emacs 24.4 (eu acho), c-j e ret foram trocados, então o indent agora é chamado depois de ret. E esses recuos no modo de texto são relativamente relativos a recuos, portanto, quando você cola um código recuado, o código é colado em uma diagonal em vez de alinhado:

# copied code
  line1
  line2
  line3

# pasted
  line1
    line2
      line3

Eu posso resolver essa configuração electric-indent-mode off (comando flip / flop), mas gosto do comportamento relativo do recuo enquanto escrevo no modo de texto. Desejo desativá-lo somente ao colar o texto.

Alguém tem código que eu poderia usar para definir um atalho de colar que chamam o modo de recuo elétrico, colar da área de transferência e definir novamente o modo de recuo elétrico?

Eu apreciaria qualquer explicação didática do código, então eu posso lembrar do meu elisp esquecido.

    
por Pablo Marin-Garcia 04.09.2016 / 00:11

1 resposta

1

Isso só deve acontecer em um terminal de texto, (onde "colar" acaba simplesmente enviando o texto char por caractere para o Emacs como se você tivesse digitado esses caracteres).

Desde o Emacs-25, isso não deve ser mais um problema, pois usa o suporte a "colchetes" do terminal de texto (de modo que o terminal envia sequências de escape especiais antes e depois do texto colado).

Não há necessidade de configurá-lo: "simplesmente funciona".

    
por 06.09.2016 / 14:34