menos comando e destaque de sintaxe

44

Eu preciso usar a less commandcom o destaque de sintaxe do comando vim para python, C, bashe outras línguas.

Como aplico cores de destaque de sintaxe de acordo com as vimcores less command?

PersianGulf
fonte

Respostas:

36

O destaque da sintaxe de lessfunciona bem na maioria dos sistemas * nix.

apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Nas distros baseadas no Fedora / RedHat, use em /usr/bin/src-hilite-lesspipe.shvez disso.

Mesmo no Cygwin, você pode fazer isso com um pequeno ajuste no caminho do script do shell e instalando com em apt-cygvez de apt.

No entanto, o uso drasticamente diminui a navegação em arquivos grandes. Sugiro usar aliasdessa maneira apenas para implementar a LESSOPENexportação acima quando necessário, desta forma:

alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '

onde a -Mbandeira é conveniente, também mostra o nome do arquivo e o número da linha.

Lembre-se também de copiar o script no seu caminho bin:

cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh

ATUALIZAÇÃO: 2019-07-24

Aparentemente, nas instalações mais recentes do Cygwin, você tem os seguintes arquivos no seu caminho:

source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe

Então, agora você também precisa executar o source-highlight-settings.exeque irá adicionar o arquivo de configuração:
$HOME/.source-highlight/source-highlight.conf.

not2qubit
fonte
O alias 'lessh' não funciona para mim. Executando o bash no osx. Suspiro.
Scott Biggs
Esse é um problema totalmente diferente, provavelmente devido ao OSX usar diferentes opções de shell e ambiente, o que pode afetar a interpretação de aspas simples e duplas de maneira diferente. Você pode verificar e configurá-los com shopt -pe set.
not2qubit
1
Isso funcionou para mim no OSX: primeiro instalei com: brew install source-highlighte depois adicionei um alias:alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
mhvelplund 23/08/18
39

less não suporta realce de sintaxe.

vim, como todos os viclones, possui um modo somente leitura chamado viewque você pode usar para visualizar apenas arquivos. suporta todos os recursos do vim, incluindo realce de sintaxe.

por exemplo

view filename.py

a principal diferença entre viewe vié que a visualização não "bloqueia" o arquivo que você está visualizando, criando um arquivo .swp.

cas
fonte
se os seus view commandmeios de radare package, não é apenas para leitura
Golfo Pérsico
4
Hmm, meu viewcomando não parece dar suporte ao realce de sintaxe. Eu tentei :syntax enablee :syntax on, mas sempre entendo syntax: Not an editor command. Meus vimsuportes destacando, no entanto.
Felix
@felix - você tem outro vicomo nviou elvisinstalado? verifique seu /usr/bin/view- no meu sistema debian, é um link simbólico para o /etc/alternatives/viewqual, por sua vez, é um link simbólico para /usr/bin/vim.basic.
cas
1
Hmm, no meu caso, é um link simbólico /usr/bin/ex, que, curiosamente, pertence ao vipacote.
Felix
2
Posso confirmar que @Felix diz, em arch linux viewum link simbólico para /usr/bin/exde core/vipacote.
X-yuri 16/05
12

lessnão pode ser ensinado a destacar elementos de sintaxe, mas o Vim pode ser usado como um pager, ou seja, um substituto para less. Existem plugins mais avançados, mas o script básico é fornecido com o Vim ( $VIMRUNTIME/macros/less.sh). Para obter informações completas, consulte Usando o vim como um pager com destaque de sintaxe no Wiki de dicas do Vim.

Ingo Karkat
fonte
2
Estou surpreso pessoas não se incomodam mesmo para o Google antes de postar respostas erradas ...
not2qubit
1
@ user1147688: Se você ler com atenção a resposta de Felix, o source source-destaque do GNU é um programa externo e a integração com menos é muito frouxa. Não é isso lessque faz o destaque; mas o Vim realmente tem esse recurso embutido.
Ingo Karkat
Para a pergunta "Como aplico cores de destaque de sintaxe de acordo com as cores do vim para menos comando?", A resposta "Ao usar o destaque da fonte" parece uma resposta mais correta que "Ao usar o vim".
Zano
1
+1, mas tenho certeza do que esses comentários estão tentando dizer - não sei dizer se são positivos ou negativos ("... pesquise antes de postar respostas erradas"? "," Instalar o xyz é mais correto do que usar vim "?). Esta resposta é claramente a "resposta mais correta". Basicamente, o OP não sabia que esse recurso do vim existia e essa resposta informa ao OP que ele existe. A navalha de Occam ftw. A resposta só poderia ser melhorada mostrando um exemplo, por exemplo,$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
michael
12

Eu tendem a discordar de Ingo, less pode ser ensinado a destacar a sintaxe. Confira esta resposta no SuperUser. Basicamente, você precisa instalar o fonte-destaque do GNU (disponível em todos os principais repositórios de distribuições de distribuição) e depois adicionar o seguinte ao seu .bashrc( .bash_profileou o que você tem):

export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "

No entanto, observe que source-highlightnão é tão poderoso quanto vimo marcador. Use o que melhor lhe convier.

Felix
fonte