Questão Como faço para ativar o realce de sintaxe no nano?


Nano pode fazer sintaxe destacando como gedit e vim? Como posso ativá-lo? Eu preciso, pelo menos, destaques sintaxe bash e python.


149
2017-12-23 15:20


origem


Muito obrigado pelos arquivos de sintaxe no repositório do git, eu uso isso em todos os meus servidores agora ... continue o bom trabalho!
@TheGene Comente e agradeça pela resposta. O repo é creditado a ele, não a mim, aquele que faz a pergunta. - Oxwivi


Respostas:


O editor nano fornece destaque de sintaxe para alguns idiomas e scripts por si só. Confira /usr/share/nano/

nits@nits-excalibur:~$ ls /usr/share/nano/
asm.nanorc     fortran.nanorc   man.nanorc     ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    mgp.nanorc     patch.nanorc   sh.nanorc
c.nanorc       groff.nanorc     mutt.nanorc    perl.nanorc    tcl.nanorc
cmake.nanorc   html.nanorc      nano-menu.xpm  php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

Vinculá-los ao arquivo de configuração nano do seu usuário presente em ~/.nanorc com algo semelhante a esta linha:

nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc

Agora, o realce de sintaxe é ativado no nano para qualquer arquivo vinculado (você também pode vincular vários arquivos)

screenshot of syntax highlighting

Nota: Às vezes você pode obter um segmentation fault depois de ter editado o seu ~/.nanorc Arquivo. Se tal erro ocorrer, desabilitando o LANG variável de ambiente ajuda. Você pode desanimá-lo com unset LANG no terminal. (Solução obtida de Aqui)

Há também outras soluções se você não estiver satisfeito com o destaque do bash. Um exemplo disso pode ser encontrado Aqui

Você também pode escrever include /usr/share/nano/* ao arquivo ~ / .nanorc para permitir que todos os idiomas sejam destacados se sua versão nano o suportar.


148
2017-12-23 16:07



Essas linhas são uncommented em /etc/nanorc - as configurações globais são sobrescritas por ~/.nanorc? Como faço para desativar .nanorc? - Oxwivi
Oh espere, eu nem tenho um ~/.nanorc Arquivo. - Oxwivi
Espere, espere, como é que a configuração global com todas as include linhas que não permitem destaques de sintaxe, embora eu não tenha .nanorc? - Oxwivi
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc anexe-os a todos ao seu arquivo .nanorc ou crie-os se não existirem. - Thom Porter
include /usr/share/nano/* não está funcionando - Jarek Jakubowski


Sim, você pode, no entanto, as definições de sintaxe padrão são muito ruins e incompletas. Estou mantendo um conjunto mais preciso de definições Aqui, para quem achar útil.

Para instalar, execute:

git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install

Adicione estas linhas ao ~ / .nanorc

include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc

Especifique os que você deseja ter colorizing, e você terá que ajustar essas cores às suas preferências. o ALL.nanorc descreve recursos para todos os arquivos ainda não classificados. Estas são as ferramentas que você precisa para começar, não o produto final polido.


71
2017-08-27 16:17



Obrigado por manter essas definições de sintaxe legais no GitHub. - Rubens Mariuzzo
Meus arquivos * .js não estavam funcionando ... editado / etc / nanorc para remover qualquer outra sintaxe incluída de acordo com o FAQ github.com/nanorc/…. Nano nanorc - Carlton
Acabei de instalar sua sintaxe defs no Mac OSX. Há apenas uma coisa que eu notaria, que é a cor preta do suporte aberto em python se perde contra o fundo preto do meu terminal - Tom Busby
Na verdade, há um problema, alguns dos textos coloridos são pretos! Se o nosso plano de fundo do terminal é preto, essas palavras são invisíveis! - dukevin
+ druciferre fornece um ótimo comando abaixo que adiciona todos os arquivos de sintaxe automaticamente ao seu arquivo .nanorc. Eu mudei o caminho para apontar para o seu local de instalação padrão: find $HOME/.nano/syntax/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc - wasatchwizard


Eu usei este comando para ativar rapidamente todos os idiomas disponíveis.

find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc

Como mencionado em outras respostas, /usr/share/nano/ contém as definições para diferentes idiomas.

$ ls /usr/share/nano
asm.nanorc     fortran.nanorc   man-html       ocaml.nanorc   ruby.nanorc
awk.nanorc     gentoo.nanorc    man.nanorc     patch.nanorc   sh.nanorc
cmake.nanorc   groff.nanorc     mgp.nanorc     perl.nanorc    tcl.nanorc
c.nanorc       html.nanorc      mutt.nanorc    php.nanorc     tex.nanorc
css.nanorc     java.nanorc      nanorc.nanorc  pov.nanorc     xml.nanorc
debian.nanorc  makefile.nanorc  objc.nanorc    python.nanorc

Também mencionado, para ativar o realce para um idioma, você adiciona include e o caminho para a definição de idioma que você deseja ativar para o seu ~/.nanorc Arquivo. Por exemplo, para habilitar o C / C ++, você adicionaria essa linha.

include /usr/share/nano/c.nanorc

o find comando procura por arquivos ou diretórios dentro do diretório especificado.

  • o -iname flag diz para procurar apenas arquivos com um nome que termine com .nanorc.
  • o -exec flags define um comando para executar em cada arquivo encontrado.
  • o {} é substituído pelo nome do arquivo.
  • \; é usado para significar o fim do comando para executar o find comando.
  • Por fim, >> ~/.nanorc faz com que a saída seja anexada ao seu ~/.nanorc Arquivo.

37
2017-10-18 18:22



ótima dica e explicação, muito obrigado cara! ;) - daveoncode


Isso deve incluir todos os plug-ins de realce de sintaxe incluídos por padrão e qualquer um que você adicionar a / usr / share / nano:

find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc

Ou edite / etc / nanorc e veja se você pode descomentar os includes.

Isso funciona se você tiver uma versão do nano que se recusa a aceitar curingas no arquivo .nanorc.

Basta executar esta linha toda vez que você adicionar uma configuração de cor .nanorc adicional.


6
2017-12-28 14:23





Eu tenho alguns nano sintaxe destacando em meu github.

Há capturas de tela de exemplos ao vivo para html e php:

enter image description here

e

enter image description here


2
2018-05-03 06:57





wget -r -nH --cut-dirs=3 --no-parent --reject="index.html*" https://nanosyntax.googlecode.com/svn/trunk/syntax-nanorc/ -P ~/.nano-syntax
for i in `ls --color=never -1 ~/.nano-syntax/*.nanorc` ; do echo "include $i" >> ~/.nanorc ; done

1
2018-06-28 03:08



Seria útil se você pudesse explicar por que essa é uma resposta útil para usuários mais novos. O que o comando está fazendo? O que isso muda? Aleatoriamente sugerindo para executar uma linha de comando não é útil. - Kevin Bowen


Os hilighters de sintaxe mais completos e atualizados para nano são mantidos Aqui.

Para instalar todos os marcadores para o seu usuário basta executar:

cd /tmp
git clone https://github.com/tech4david/nano-highlight.git
cd nano-highlight/
make install
echo "include ~/.nano/syntax/ALL.nanorc" >> ~/.nanorc

1
2017-07-29 10:21



A solução é boa, mas eu usaria uma outra pasta para git clone. O conteúdo do /tmp pasta será apagada em cada início do sistema e, portanto, você nunca poderia executar um git pull. - A.B.
Sua tag de idioma está errada. js não é bash ou shell-script e eu coloquei o link por trás da palavra here. Onde está o problema? - A.B.
@ A.B. não importa se essa pasta se foi desde quando você make install todos os arquivos de sintaxe são copiados para o local seguro onde eles pertencem: ~/.nano/syntax. - Pablo Bianchi


Você pode usar isso para incluir todos: (adicione isso ao arquivo ~ / nanorc)

include "/usr/share/nano/*.nanorc"

Codificação feliz!


1
2018-02-12 04:00





Eu encontrei destaque de sintaxe para js Aqui.

Eu adicionei no meu arquivo de usuário em ~/.nanorc

No entanto, para obter um arquivo no qual eu poderia acrescentar, eu tive que primeiro copiar de /usr/share/nano/nanorc.nanorc para minha pasta local primeiro como ~/.nanorc.


0
2017-07-05 23:21





Para aqueles que estão tendo problemas após seguir as instruções acima, verifique também se você definições duplicadas. Estes irão desativar todo destaque de sintaxe para todos os arquivos. Eu corri para isso depois de adicionar um nanorc.nanorc arquivo, e não percebendo que o meu ~/.nanorc já tinha uma seção idêntica, ou seja:

## Here is an example for nanorc files.
##
syntax "nanorc" "\.?nanorc$"
## Possible errors and parameters
icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$"
## Keywords
icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|$
icolor green "^[[:space:]]*(set|unset|include|syntax)\>"
(...)

0
2018-02-19 04:50