No emacs, existe uma maneira de editar / visualizar um buffer sem perder as informações de desfazer?

5

Quando eu uso modo hexl no emacs, ele descarta as informações de desfazer do buffer.
Existe outra maneira de editar hexadecimais o buffer e ainda manter as informações de desfazer?

Se não houver um editor hexadecimal alternativo, existe um visualizador hexadecimal que possa visualizar o buffer? Eu tentei modo hexadecimal , mas ele não vê o buffer real; ele visualiza o arquivo do buffer (do disco) , então não vejo a edição atual.

    
por Peter.O 16.08.2011 / 20:19

2 respostas

2

Aqui está uma função que copia o conteúdo do buffer atual em um novo buffer e executa o modo hexl em:

(defun hexify-buffer-copy()
    "Edit current buffer in hexl mode by copying it"
    (let ((orig-buffer (current-buffer)))
         (switch-to-buffer (create-file-buffer
             (buffer-file-name orig-buffer)))
         (insert-buffer orig-buffer)
         (setq buffer-undo-list nil)
         (hexl-mode)))

Executar com M-: (hexify-buffer-copy)

    
por 22.10.2015 / 15:58
0

Há o modo nhexl no ELPA, que usa sobreposições em vez de reescrever o buffer e, portanto, mantém as informações desfazer.

    
por 11.08.2017 / 22:14