Tenho o prazer de anunciar um novo pacote, e2ansi , que fornece
suporte de destaque de sintaxe para pagers como more
e less
.
O pacote usa a mãe de todos os editores de texto, Emacs , para
Realize o destaque real da sintaxe. Como um bônus adicional, todos os outros
conversões normalmente executadas pelo Emacs - como arquivos descompactadores -
também é executado.
Exemplo
O seguinte é o resultado da visualização de um arquivo usando less
e
e2ansi
:
Configuração
Opacoteforneceumaferramentadelinhadecomandoe2ansi-cat
queiniciaEmacsnomodobatch,abrearquivos,sintaxedestacá-loseprocessaoresultadousandosequênciasANSI.
Vocêpodeintegrarissoemless
definindoasseguintesvariáveispara,porexemplo(alocalizaçãodoseuarquivoinitpodevariar):
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 terminal original
conteúdo da janela, enquanto que more
simplesmente gera novo conteúdo após o
prompt.
Nota: Se você usar uma versão antiga de less
, talvez não ofereça suporte ao
||
ou a sintaxe -
, caso em que você pode precisar usar
LESSOPEN=|/usr/local/emacs ...
.
Usando less
em tubos
O caractere "-" em LESSOPEN
indica que o filtro de entrada deve
também pode ser usado ao enviar o texto para less
. Neste caso, o Emacs pode
depende apenas do próprio texto (e não do nome do arquivo). Felizmente, o Emacs
fornece um sistema para isso. Além disso, o arquivo de arquivo fornecido
e2ansi-magic.el
configura tipos de arquivos adicionais. Por exemplo:
PorqueusaroEmacs?
- OEmacssuportapraticamentetodasaslinguagensdeprogramaçãoeformatosdetextoestruturados.Namaioriadoscasos,odestaquedasintaxeosuporteéexcelente.
- Vocêpodeadicionarsuporteamaisidiomaseformatosoumodificarpacotesexistentesparaatenderàssuasnecessidades.
- OEmacssuportatemasdecores.Aousar
e2ansi
,ascoresnoOtemaépreservadoaovisualizarumarquivoemless
.Vocêpodeescolherumtemadecoresadequadodeváriasfontesoucrieoseupróprio. - SevocêusaoEmacscomoseueditordeescolha,teráomesmodestacandonoeditorcomovocêobtémaovisualizarumarquivousando
less
(menoslimitaçõesnoformatodesequênciaANSIenoterminaljanela). less
aproveitaráosrecursosdoEmacsqueexecutamautomaticamenteconversão,porexemplo,descompactandoarquivos.Naverdade,vocêpodeensinarEmacspararealizarqualquertipodeconversãocomoconverterautomaticamenteumarquivobinárioparaoformatolegívelporhumanosusandoumaferramentaexterna.- VocêpodevisualizararquivoslocalizadosemoutrasmáquinasusandoasintaxedoEmacsparaacessoremotocomo
/USER@HOST:FILENAME
.
Linksúteis
e2ansi
édistribuídono Melpa e pode ser instalado usando
o sistema de pacotes padrão do Emacs
-
e2ansi
está hospedado em GitHub
- A página
e2ansi
no Wiki do Emacs
- A casa de
less
.
Notas do sistema operacional
-
No MS Windows, o console não suporta nativamente seqüências ANSI.
Felizmente, o aplicativo less
é capaz de renderizá-los. Eu
Não estou ciente de qualquer distribuição binária contemporânea de less
para
MS Windows e os arquivos de compilação fornecidos são difíceis de usar. Felizmente,
é fácil criar less
usando o CMake , veja este texto para
detalhes.
-
OS X distribui uma versão antiga de less
. Felizmente, é
fácil de construir uma versão moderna diretamente da fonte.