(defun insert-column (chars)
(interactive "sChars to enter: ")
(insert-rectangle (mapcar 'string (string-to-list chars))))
Suponha que eu tenha este texto:
RUN_
RUN_
RUN_
RUN_
RUN_
e quero esse aqui:
RUN_A
RUN_B
RUN_C
RUN_D
RUN_E
Gostaria de poder escrever ABCDE
e de alguma forma "transpor"
e mate-o como um retângulo.
Isso pode ser feito sem muito hacking lisp?
Marque o texto relevante. Em seguida, pressione:
M-x espaço para apagar em branco
Coloque o cursor no começo. Digite o seguinte (com devoluções nos locais relevantes)
M-x map-query-substituir-regexp
$
A B C D E
Este procedimento limpa primeiro o espaço em branco à direita por linha e, em seguida, por fim de linha insere A, B, etc. um por um nesses finais de linha. Outros padrões de substituição, é claro, são possíveis. Não é estritamente um retângulo transposto, mas bastante versátil e é tipicamente mais próximo do que se deseja, pois as substituições não estão necessariamente na mesma coluna, mas sim determinadas pelo padrão.
Tags emacs text-editing