3 votos

Emacs: visualice usando secuencias de escape hexadecimales

Emacs muestra caracteres sin glifos como secuencias de escape octales "\OOO", por ejemplo, desde el inicio de un archivo PDF:

%PDF-1.4
%\344\343\317\322
1 0 obj
[/PDF/ImageB/ImageC/ImageI/Text]
endobj
4 0 obj
<</Length 5 0 R/Filter/FlateDecode>>
stream
9\323\317\221\321\356j\305
endstream

¿Puedo configurar algunos (relativamente simple) configuración para obtener los de escape hexadecimal secuencias "\xFF"? Como:

%PDF-1.4
%\xE4\xE3\xCF\xD2
1 0 obj
[/PDF/ImageB/ImageC/ImageI/Text]
endobj
4 0 obj
<</Length 5 0 R/Filter/FlateDecode>>
stream
9\xD3\xCF\x91\xD1\xEEj\xC5
endstream

(usando el modo texto o modo fundamental, o... pero no modo hexl)

2voto

Drew Puntos 1474

Nunca he jugado con esto antes, pero leyendo el manual de Elisp un poco y experimentar me hacen pensar que algo así es lo que buscas:

(let ((ii          128)
      (new-dtable  (make-display-table))
      (hex-string  nil))
  (while (< ii 256) ; Convert decimal codes 128 to 255.
    (setq hex-string  (format "%X" ii))
    (aset new-dtable ii
          (vector
           (make-glyph-code ?\ 'escape-glyph)
           (make-glyph-code ?x 'escape-glyph)
           (make-glyph-code (aref hex-string 0) 'escape-glyph)
           (make-glyph-code (aref hex-string 1) 'escape-glyph)))
    (setq ii  (1+ ii)))
  (set-window-display-table (selected-window) new-dtable))

Si luego utilizas, decir C-q 3 4 4 RET , que normalmente inserta la secuencia de escape octal \344 , inserta una muestra de glifo xE4 .

La parte pertinente del manual de Elisp miré son aquellas que nodo Character Display .

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: