Como garantir que uma macro customizada do emacs funcione na região?

2

Suponha que eu defina uma macro personalizada no emacs no meu arquivo .emacs . Existe uma maneira de garantir que ele funcione apenas na região que marquei em um buffer antes de executar meu comando, sem entrar em detalhes da definição macro?

    
por student 19.05.2012 / 11:32

1 resposta

4

Eu não acho que isso seja possível no nível das macros, isso vai depender dos comandos dentro da macro. Dito isso, as macros ficaram mais flexíveis desde que aprendi o Emacs, então é possível que eu esteja perdendo algo.

O Emacs oferece outra possibilidade de trabalhar com parte de um arquivo: estreitamento . Selecione a região com a qual deseja trabalhar e pressione C-x n n ( narrow-to-region ) para restringir o buffer à região selecionada. Agora a parte fora da região está oculta e todos os comandos afetarão apenas a parte visível. Pressione C-x n w ( widen ) para voltar a trabalhar no arquivo inteiro.

Um recurso muitas vezes conveniente e estreito é o buffers indiretos . Execute M-x clone-indirect-buffer ou C-x 4 c para obter um segundo buffer editando o mesmo arquivo. Os dois buffers têm o mesmo conteúdo, e salvar salva o arquivo, mas os buffers têm regiões, modos e visibilidades separadas, para que você possa usar o estreitamento em um e manter a visão completa do arquivo no outro.

    
por 19.05.2012 / 15:34

Tags