O nano pode destacar a sintaxe como gedit e vim? Como posso habilitá-lo? Preciso de pelo menos destaques de sintaxe bash e python.
O nano pode destacar a sintaxe como gedit e vim? Como posso habilitá-lo? Preciso de pelo menos destaques de sintaxe bash e python.
Respostas:
O editor nano fornece destaque de sintaxe para alguns idiomas e scripts por si só. Verificação de saída/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
Vincule-os ao arquivo de nano-configuração do usuário, apresentado ~/.nanorc
com algo semelhante a esta linha:
nits@nits-excalibur:~$ cat ~/.nanorc
include /usr/share/nano/sh.nanorc
Agora, o realce da sintaxe está ativado no nano para qualquer arquivo que você vinculou (você também pode vincular vários arquivos)
Nota: Às vezes, você pode receber uma segmentation fault
após editar seu ~/.nanorc
arquivo. Se esse erro ocorrer, desmarcar a variável de ambiente LANG ajuda. Você pode desabilitá-lo unset LANG
no terminal. (Solução obtida aqui )
Existem 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 gravar include /usr/share/nano/*
no arquivo ~ / .nanorc para permitir que todos os idiomas sejam destacados se a sua versão nano suportar.
/etc/nanorc
- as configurações globais estão sendo substituídas por ~/.nanorc
? Como desativo .nanorc
?
~/.nanorc
arquivo.
include
linhas não habilita os destaques da sintaxe, mesmo que eu não tenha .nanorc
?
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc
anexe-os todos ao seu arquivo .nanorc ou crie-o se ele não existir.
include /usr/share/nano/*
está funcionando
Sim, você pode, no entanto, as definições de sintaxe padrão são bastante ruins e incompletas. Estou mantendo um conjunto mais preciso de definições aqui , para quem as achar úteis.
Para instalar, execute:
git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install
Adicione essas linhas ao ~ / .nanorc
include ~/.nano/syntax/html.nanorc
include ~/.nano/syntax/css.nanorc
include ~/.nano/syntax/php.nanorc
include ~/.nano/syntax/ALL.nanorc
Especifique as cores que você deseja colorir e terá que ajustar essas cores de acordo com suas preferências. O ALL.nanorc
descreve os 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.
Eu usei esse comando para ativar rapidamente todos os idiomas disponíveis.
find /usr/share/nano/ -iname "*.nanorc" -exec echo include {} \; >> ~/.nanorc
Conforme 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 de um idioma, você adiciona include
e o caminho para a definição de idioma que deseja ativar no seu ~/.nanorc
arquivo. Então, por exemplo, para ativar o C / C ++, você adicionaria esta linha.
include /usr/share/nano/c.nanorc
O find
comando procura por arquivos ou diretórios no diretório especificado.
-iname
sinalizador diz para ele procurar apenas arquivos com um nome que termine com .nanorc
.-exec
sinalizadores definem um comando para executar em cada arquivo encontrado.{}
é substituído pelo nome do arquivo.\;
é usado para significar o final do comando a ser executado no find
comando.>> ~/.nanorc
faz com que a saída seja anexada ao seu ~/.nanorc
arquivo.Isso deve incluir todos os plug-ins de destaque de sintaxe incluídos por padrão, e todos os que você adicionar em / usr / share / nano:
find /usr/share/nano -name '*.nanorc' -printf "include %p\n" > ~/.nanorc
Ou edite / etc / nanorc e veja se você pode descomentar as inclusões.
Isso funciona se você tiver uma versão do nano que se recusa a aceitar caracteres curinga no arquivo .nanorc.
Basta executar esta linha sempre que adicionar uma configuração de cor .nanorc adicional.
Eu tenho algumas nano sintaxe destacando no meu github .
Existem capturas de tela de exemplo ao vivo para html e php:
e
Você pode usar isso para incluir todos: (adicione isso ao arquivo ~ / nanorc)
include "/usr/share/nano/*.nanorc"
Feliz codificação!
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
Os hilighters de sintaxe mais completos e atualizados para o nano são mantidos aqui .
Para instalar todos os marcadores do 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
git clone
. O conteúdo da /tmp
pasta será excluído a cada inicialização do sistema e, portanto, você nunca poderá executar um git pull
.
js
não é bash
ou shell-script
coloquei o link por trás da palavra here
. Onde está o problema?
make install
todos os arquivos de sintaxe são copiados para o lugar seguro onde eles pertencem: ~/.nano/syntax
.
Para aqueles que estão tendo problemas após seguir as instruções acima, verifique também se possui definições duplicadas . Isso desabilitará todo o destaque de sintaxe para todos os arquivos . Eu me deparei com isso depois de adicionar um nanorc.nanorc
arquivo e sem perceber que 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)\>"
(...)
Encontrei sintaxe destacando para js aqui .
Anexei-o no meu arquivo de usuário em ~/.nanorc
No entanto, para obter um arquivo no qual eu pudesse anexar, tive que copiar primeiro da /usr/share/nano/nanorc.nanorc
minha pasta local como ~/.nanorc
.
Desativei acidentalmente o destaque usando o atalho de teclado Alt+ Y. Pode ser ligado novamente com o mesmo atalho de teclado.
Sei que é um tópico antigo, mas que minha solução possa ajudar
edite o arquivo em / etc / nanorc
A partir da linha 243, você pode encontrar muitos arquivos de inclusão. Simplesmente descomente os que você precisa, salve e pronto.
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Makefiles
include "/usr/share/nano/makefile.nanorc"
## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"
## Debian files
include "/usr/share/nano/debian.nanorc"
## Gentoo files
# include "/usr/share/nano/gentoo.nanorc"
Não tenho certeza se você atualizar o nano, essas alterações desaparecerão.
Acabei de criar esse script para adicionar as cores ao nano: mas é claro que você precisa ter os códigos de cores em / usr / share / nano para que isso funcione. Se houver erros: apenas edite manualmente o arquivo ~ / .nanorc e remova as linhas que apresentam os erros.
#!/bin/bash
for i in `ls /usr/share/nano`
do
echo "include /usr/share/nano/$i" >> ~/.nanorc
done