Use o comando Acme Edit para pesquisar e substituir em muitos buffers

Acme é um gerenciador de janelas, editor e interface de shell, e faz parte do Inferno, Plan 9, Plan 9 from User Space (plan9port), Acme SAC, etc.

O programa Edit automatiza a edição do buffer no Acme. Editar é um executável separado que o Acme executa. Ele fala nos bastidores com todos os arquivos de controle que a Acme publica para os arquivos que edita, assim como qualquer programa que você mesmo possa escrever. Portanto, os recursos de edição não são integrados ao executável Acme e podem ser alterados de forma independente. (Essa terceirização da funcionalidade do núcleo uniforme (para outros editores) inverte a abordagem do emacs, que traz tudo para um grande espaço elisp global.)

No Hacker News, jff escreveu no tópico “Plan 9 from Bell Labs (1995)”:

É fácil aplicar um comando de editor em cada buffer aberto, se você precisar refatorar, por exemplo.

Como exemplo:

Edit X/.* / ,s,loginAdmin,loginIdiAmin,g

Eu edito este texto (em um arquivo de guia para o diretório atual) para atender às minhas necessidades atuais; realce-o arrastando enquanto o botão esquerdo do mouse está pressionado; e clique com o botão do meio em qualquer lugar do destaque para executá-lo. Depois de executá-lo, cada buffer aberto que foi alterado recebe um marcador de bit incorreto, e posso clicar com o botão do meio na palavra Putall (geralmente na linha superior) para salvar todas as alterações dos arquivos ou Desfazer (na tag de qualquer buffer ) para desfazer todas as alterações em todos os buffers.

X /.* / diz para endereçar cada buffer aberto, uma vez que. * Corresponde a qualquer padrão. Normalmente não deve haver um espaço após o asterisco, mas o formatdoc de HN deixa o seguinte texto em itálico e remove o asterisco se eu não colocar um espaço lá. (No Inferno Acme, este caso particular parece funcionar de qualquer maneira, provavelmente por causa do espaço após o nome do arquivo nas tags de buffer.)

, -before-s diz para editar todo o conteúdo do buffer, não apenas uma seção destacada.

s, loginAdmin, loginIdiAmin, é um comando de substituição insípido no dialeto de Sam de Edit (e em ed, sed, vi e vim). Essas vírgulas podem ser substituídas por qualquer caractere, desde que esse caractere não esteja no conjunto de caracteres a ser substituído ou no conjunto de substituição.

g-after-, diz para substituir todas as instâncias de loginAdmin, não apenas a primeira.