No emacs edite a seção do arquivo como se fosse um arquivo separado

2

Para algumas tarefas, prefiro arquivos únicos grandes ao dividir um projeto (digamos: um relatório LaTeX, um script python de tamanho médio) em arquivos menores separados, por exemplo. para facilitar a pesquisa e pesquisa e substituição. No entanto, para editar, muitas vezes é preferível ter visões separadas de diferentes partes de um projeto, favorecendo vários arquivos pequenos.

O modo / pacote para o emacs é algum que permite editar partes de arquivos como se fossem um arquivo separado, mantendo o buffer sincronizado com todas as outras visualizações do arquivo? Estou ciente de clone-indirect-buffer , mas embora atinja parte da intenção, prefiro um método que limite o buffer indireto a uma seção específica do arquivo. Pense por exemplo de org-modes C-c ' , mas implementado com um buffer indireto. Idealmente, a implementação suportaria alguma sintaxe para definir seções.

Eu acho que o editor LEO é construído em torno do conceito que eu quero para o emacs, embora eu nunca tenha tentado (não funcionou no meu sistema).

    
por kdb 04.11.2014 / 00:13

1 resposta

1

Uma biblioteca que fornece tal comportamento é Narrow Indirect ( narrow-indirect.el ). Dá-lhe uma visão diferente de uma porção de o buffer, ou até mesmo de todo o buffer (use C-x h C-x 4 n n ).

Ele sempre tem as mesmas propriedades de texto e texto, mas, caso contrário, é bastante independente. Em particular, você pode matar um buffer indireto sem afetar seu buffer de base. Você provavelmente vai querer matar indiretamente estreitada buffers em vez de ampliá-los.

Você pode usar buffers indiretos por mais do que você imagina. Você pode usar clones retirados de porções de buffers Dired, por exemplo, para fornecer visualizações úteis (ativas) em uma listagem de diretórios. Lá são apenas algumas teclas / comandos (como g para atualizar a listagem) que não funcionam, porque eles dependem de uma visão de todo o Dired amortecedor. Experimente, e você sem dúvida encontrará novidades interessantes usa para buffers indiretos.

Veja também o manual do Emacs, nó Indirect Buffers .

    
por 06.11.2014 / 04:05

Tags