Muitos editores orientados à programação colorirão o código fonte. Existe um comando que colorirá o código fonte para visualização no terminal?
Eu poderia abrir um arquivo com emacs -nw
(que abre no terminal em vez de abrir uma nova janela), mas estou procurando algo que funcione less
(ou que funcione com less -R
, que passe por seqüências de escape de cores em sua entrada).
fonte
Eu uso o GNU
source-highlight
combinado comless -R
isso. Adicione as seguintes linhas ao arquivo de inicialização do seu shell (~/.bashrc
, por exemplo):Isso deve colorir automaticamente o código-fonte de acordo com o idioma usado e, se não puder, será iniciado
less
diretamente em sua entrada.fonte
Se você estiver interessado em cores de maneira
less
mais geral, talvez queira dar uma olhadalesspipe.sh
. Veja, por exemplo, http://freecode.com/projects/lesspipe .Ele também colorirá scripts de shell, scripts perl, etc. de maneira semelhante a um editor de texto, mas sem o uso de qualquer programa de "pré-processamento" para fazer a coloração.
fonte
lesspipe.sh
é o que eu estava tentando lembrar antes de eu postei a pergunta ...Aprecio a simplicidade e uso o nano editor de texto; nesse caso, geralmente procedo da seguinte forma:
verifique o destaque da sintaxe da bruxa disponível:
ls -la /usr/share/nano/
incluí-lo no meu arquivo nanorc com o seguinte comando ou manualmente
sobre
less
sugiro dar uma olhada nesta páginafonte
De acordo com a sugestão de Stéphane Chazelas , eu faço uma função bash para usar o
highlight
show Syntax destaque, coloco-o em .bashrc ou assim por diante. Funciona muito bem, rápido e eficaz.destaque suporte 202 formato de sintaxe de idioma . veja
highlight --list-scripts=langs
.fonte
Você pode usar o pacote, e2ansi , que fornece suporte para destaque de sintaxe para pagers como
more
eless
.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
ee2ansi
: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):Na configuração acima,
less
restaura o conteúdo original da janela do terminal emore
simplesmente gera 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 simplesmenteLESSOPEN=|/usr/local/emacs ...
.Usando
less
em tubosO caractere "-"
LESSOPEN
indica que o filtro de entrada também deve ser usado ao inserir texto no canalless
. 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 fornecidoe2ansi-magic.el
configura tipos de arquivo adicionais. Por exemplo:Por que usar o Emacs?
e2ansi
, as cores do tema são preservadas ao exibir um arquivoless
. Você pode escolher um tema de cores adequado de várias fontes ou criar seu próprio.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./USER@HOST:FILENAME
.Links Úteis
e2ansi
é distribuído no Melpa e pode ser instalado usando o sistema de pacotes Emacs padrãoe2ansi
está hospedado no GitHube2ansi
página no Emacs Wikiless
.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 doless
MS Windows e os arquivos de compilação fornecidos são difíceis de usar. Felizmente, é fácil criarless
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.fonte
É chamado de destaque de sintaxe.
Destaque GNU Source quando recebe um arquivo de origem, produz um documento com destaque de sintaxe.
Eu uso o
lessfilter
script abaixo, ou você podeless
invocá-lo automaticamente como com:Encontrei este artigo e comecei a fazê-lo desta maneira:
(
src-hilite-lesspipe.sh
é enviado comsource-highlight
mas nem todas as distribuições o incluem)fonte
export
define uma variável de ambiente, não um apelido. O comandoless
usa sinalizadores da variável de ambienteLESS
, portanto, sua resposta precisa de algum trabalho.