Como posso inserir query-replace no GNU Emacs usando uma função repetível baseada em valores na linha atualmente no ponto

1

Gostaria de usar os seguintes dados e ocorrências de substituição de consulta de cada identificador de palavra com o identificador numérico correspondente, usando algum tipo de função repetível.

-1 ACT/CNS
-2 AG NFC
-3 AID
-4 BBG
-5 BIA
-6 BLM
-7 BOC
-8 BPD
-9 CCC
-10 CDC
-11 Census

Em outras palavras, com ponto em

-1 ACT/CNS
^

Gostaria de poder acertar uma tecla e iniciar o seguinte comando

query-replace RET ACT/CNS RET -1 RET

Eu tentei definir uma macro de teclado, mas parece haver bastante salto entre buffers e chamadas M-x para confundir o kbmacro e torná-lo inutilizável.

Pensamentos?

    
por Tim Visher 21.06.2010 / 16:34

1 resposta

2

Isso foi o que eu fiz para criar a macro de teclado que substituiu os símbolos pelos números.

C-a                     ;; move-beginning-of-line
M-f                     ;; forward-word
C-f                     ;; forward-char
C-SPC                   ;; set-mark-command
C-e                     ;; move-end-of-line
M-w                     ;; kill-ring-save
C-a                     ;; move-beginning-of-line
C-SPC                   ;; set-mark-command
M-f                     ;; forward-word
M-w                     ;; kill-ring-save
M-%                     ;; query-replace
C-y                     ;; yank
M-y                     ;; yank-pop
RET                     ;; newline-and-indent
C-y                     ;; yank
M-y                     ;; yank-pop
RET                     ;; newline-and-indent

Quando o cursor estiver na linha "-1 ACT / CNS", o item acima iniciará a consulta / substituição com os valores desejados - no buffer atual.

A menos que você esteja fazendo muito isso (como em mais do que apenas hoje), eu ficaria com a macro porque é fácil de configurar.

    
por 21.06.2010 / 17:30

Tags