Estou feliz em anunciar um novo pacote, o e2ansi , que fornece suporte à sintaxe para destacar pagers como more
e less
.
O pacote usa a mãe de todos os editores de texto, o Emacs , para executar o realce da sintaxe. Como um bônus adicional, todas as outras conversões normalmente executadas pelo Emacs - como descompactar arquivos - também são executadas.
Exemplo
A seguir, o resultado da exibição de um arquivo usando less
e
e2ansi
:
Configuração
O pacote fornece uma ferramenta de linha de comando e2ansi-cat
que inicia o Emacs no modo em lote, abre arquivos, destaca a sintaxe e renderiza o resultado usando sequências ANSI.
Você pode integrar isso less
configurando as seguintes variáveis como, por exemplo (a localização do seu arquivo init pode variar):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
Na configuração acima, less
restaura o conteúdo original da janela do terminal e more
simplesmente gera um novo conteúdo após o prompt.
Nota: Se você usar uma versão antiga less
, ela poderá não suportar
||
a -
sintaxe ou , nesse caso, poderá ser necessário usá-la simplesmente
LESSOPEN=|/usr/local/emacs ...
.
Usando less
em tubos
O caractere "-" LESSOPEN
indica que o filtro de entrada também deve ser usado ao inserir texto no canal less
. Nesse caso, o Emacs pode confiar apenas no próprio texto (e não no nome de um arquivo). Felizmente, o Emacs fornece um sistema para isso. Além disso, o arquivo de arquivo fornecido
e2ansi-magic.el
configura tipos de arquivo adicionais. Por exemplo:
Por que usar o Emacs?
- O Emacs suporta praticamente todas as linguagens de programação e formatos de texto estruturado. Na maioria dos casos, o suporte de destaque de sintaxe é excelente.
- Você pode adicionar facilmente suporte para mais idiomas e formatos ou modificar pacotes existentes para atender às suas necessidades.
- O Emacs suporta temas de cores. Ao usar
e2ansi
, as cores do tema são preservadas ao exibir um arquivo less
. Você pode escolher um tema de cores adequado de várias fontes ou criar seu próprio.
- Se você usar o Emacs como seu editor de escolha, obterá o mesmo destaque no editor ao exibir um arquivo usando
less
(menos limitações no formato de sequência ANSI e na janela do terminal).
less
aproveitará os recursos do Emacs que executam a conversão automática, por exemplo, descompactando arquivos. De fato, você pode ensinar o Emacs a realizar qualquer tipo de conversão, como converter automaticamente um arquivo binário em formato legível por humanos, usando uma ferramenta externa.
- Você pode visualizar arquivos localizados em outras máquinas usando a sintaxe do Emacs para acesso remoto como
/USER@HOST:FILENAME
.
Links Úteis
e2ansi
é distribuído no Melpa e pode ser instalado usando o sistema de pacotes Emacs padrão
e2ansi
está hospedado no GitHub
- A
e2ansi
página no Emacs Wiki
- A casa de
less
.
Notas do sistema operacional
No MS Windows, o console não suporta nativamente sequências ANSI. Felizmente, o less
aplicativo é capaz de renderizá-los. Não conheço nenhuma distribuição binária contemporânea do less
MS Windows e os arquivos de compilação fornecidos são difíceis de usar. Felizmente, é fácil criar less
usando o CMake , consulte este texto para obter detalhes.
OS X distribui uma versão antiga do less
. Felizmente, é fácil criar uma versão moderna diretamente da fonte.
less ~/.zshrc
. Erro:src-hilite-lesspipe.sh: line 9: source-highlight: command not found
. Eu corro isso no MacOSX.