나노에서 구문 강조를 활성화하려면 어떻게합니까?


184

나노는 gedit 및 vim과 같은 구문 강조를 할 수 있습니까? 어떻게 활성화합니까? 적어도 bash 및 python 구문 강조가 필요합니다.


1
git repo의 구문 파일에 대해 대단히 감사합니다. 이제 모든 서버에서 이것을 사용합니다 ... 좋은 일을 유지하십시오!

1
@ TheGene 의견과 답변에 감사드립니다. 레포는 나에게 질문을 한 사람이 아니라 그에게 인정됩니다.
Oxwivi

답변:


175

nano 편집기는 몇 가지 언어 및 스크립트 자체에 대한 구문 강조를 제공합니다. 체크 아웃/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

~/.nanorc이 줄과 비슷한 것으로 사용자의 나노 구성 파일에 연결하십시오.

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

이제 구문 강조 표시는 링크 된 파일에 대해 나노에서 활성화됩니다 (여러 파일을 연결할 수도 있습니다)

구문 강조의 스크린 샷

참고 : 파일 segmentation fault을 편집 한 후 때때로 오류가 발생할 수 ~/.nanorc있습니다. 이러한 오류가 발생하면 LANG 환경 변수를 설정 해제하면 도움이됩니다. unset LANG터미널에서 설정을 해제 할 수 있습니다 . ( 여기서 얻은 솔루션 )

bash 강조 표시에 만족하지 않으면 다른 솔루션도 있습니다. 그러한 예는 여기 에서 찾을 수 있습니다

당신은 또한 쓸 수 있습니다 include /usr/share/nano/*귀하의 나노 버전에서 지원하는 경우 강조하는 모든 언어를 사용하려면 ~ / .nanorc 파일.


1
이 줄은 주석 처리되어 /etc/nanorc있지 않습니다. 전역 설정이 ~/.nanorc? 어떻게 비활성화 .nanorc합니까?
Oxwivi

13
잠깐만 요, ~/.nanorc파일 이 없어요 .
Oxwivi

1
잠깐만, include내가하지 않아도 구문 강조를 사용하지 않는 모든 줄 이있는 전역 설정은 어떻게 .nanorc됩니까?
Oxwivi

9
ls -1 /usr/share/nano/*.nanorc | sed 's/^\//include \//' >> ~/.nanorc.nanorc 파일에 모두 추가하거나 존재하지 않는 경우 작성하십시오.
Thom Porter

9
include /usr/share/nano/*작동하지 않음
Jarek Jakubowski

74

예. 그러나 기본 구문 정의는 매우 열악하고 불완전합니다. 여기 에서 유용한 정의 를 찾는 사람을 위해 보다 정확한 정의를 유지하고 있습니다 .

설치하려면 다음을 실행하십시오.

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

이 줄을 ~ / .nanorc에 추가하십시오

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

색상을 지정할 색상을 지정하면 원하는대로 색상을 조정해야합니다. 는 ALL.nanorc모든 아직 분류되지 않은 파일의 기능에 대해 설명합니다. 이들은 최종 연마 제품이 아니라 시작하는 데 필요한 도구입니다.


6
GitHub에서 멋진 구문 정의를 유지해 주셔서 감사합니다.
Rubens Mariuzzo

3
내 * .js 파일이 작동하지 않습니다 ... FAQ github.com/nanorc/…에 따라 다른 구문 포함을 제거하기 위해 / etc / nanorc를 편집 했습니다 . ♥ Nano ♥ nanorc
Carlton

5
방금 Mac OSX에 구문 정의를 설치했습니다. 내가 주목해야 할 것은 파이썬에서 열린 대괄호의 검은 색이 터미널의 검은 색 배경에서 사라진다는 것입니다.
Tom Busby

5
실제로 문제가 있습니다. 일부 컬러 텍스트는 검은 색입니다! 터미널 배경이 검은 색이면이 단어들은 보이지 않습니다!
dukevin

8
당신은 죽은 링크가 있습니다
not2qubit

52

이 명령을 사용하여 사용 가능한 모든 언어를 빠르게 활성화했습니다.

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

다른 답변에서 언급했듯이 /usr/share/nano/다른 언어에 대한 정의가 들어 있습니다.

$ 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

또한 언어 강조 표시 include를 사용하려면 ~/.nanorc파일 에 사용하려는 언어 정의의 경로와 경로를 추가 하십시오. 예를 들어 C / C ++를 활성화하려면이 줄을 추가하십시오.

include /usr/share/nano/c.nanorc

find명령은 지정된 디렉토리에서 파일 또는 디렉토리를 검색합니다.

  • -iname플래그는로 끝나는 이름을 가진 파일을 찾아 그것을 알려줍니다 .nanorc.
  • -exec플래그는 발견 된 각 파일에 실행할 명령을 정의합니다.
  • {}파일 이름으로 대체됩니다.
  • \;명령을 실행할 명령의 끝을 나타내는 데 사용됩니다 find.
  • 마지막으로 >> ~/.nanorc출력이 ~/.nanorc파일에 추가 됩니다.

좋은 팁과 설명, 많은 사람에게 감사합니다! ;)
daveoncode

감사합니다. 부적합한 플래그가 필요한 것 같지 않습니다. 다음은 잘 작동하는 것 같습니다 /usr/share/nano/*.nanorc
Milind

대단히 감사합니다!
VIX

7

여기에는 기본적으로 포함 된 모든 구문 강조 플러그인과 / usr / share / nano에 추가 한 플러그인이 포함되어야합니다.

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

또는 / etc / nanorc를 편집하여 포함을 주석 해제 할 수 있는지 확인하십시오.

.nanorc 파일에 와일드 카드를 허용하지 않는 nano 버전이있는 경우 작동합니다.

.nanorc 색상 구성을 추가 할 때마다이 줄을 실행하십시오.



2

이것을 사용하여 모두 포함 할 수 있습니다 : (~ / nanorc 파일에 추가하십시오)

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

행복한 코딩!


1
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

22
왜 이것이 새로운 사용자에게 유용한 답변인지 설명 할 수 있다면 도움이 될 것입니다. 명령은 무엇입니까? 무엇이 바뀌나요? 명령 행 실행을 무작위로 제안하는 것은 도움이되지 않습니다.
Kevin Bowen

1

나노를위한 가장 완벽한 최신 구문 하이 라이터가 여기 에 유지 됩니다 .

사용자를 위해 모든 형광펜을 설치하려면 다음을 실행하십시오.

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. OTF를 내용 /tmp폴더는 모든 시스템 시작에서 삭제 될 것입니다 때문에 당신은 실행되지 않을 수 있습니다 git pull.
AB

언어 태그가 잘못되었습니다. js아니 bash거나 shell-script나는 단어 뒤에 링크를 배치했습니다 here. 문제는 어디에 있습니까?
AB

1
@AB make install모든 구문 파일을 파일이 속한 안전한 장소에 복사 한 이후에 해당 폴더가 없어도 문제가되지 않습니다 ~/.nano/syntax.
Pablo A

1

위의 지침을 따른 후 문제가있는 사용자의 경우 중복 정의 가 있는지 확인하십시오 . 이것은 모든 파일에 대한 모든 구문 강조 표시 를 비활성화 합니다 . nanorc.nanorc파일 을 추가 한 후이 문제가 발생했지만 ~/.nanorc이미 동일한 섹션이 있음을 알지 못했습니다 .

## 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

js의 구문 강조를 여기 에서 찾았 습니다 .

나는 그것을 내 사용자 파일에 추가했다. ~/.nanorc

그러나 추가 할 수있는 파일을 얻으려면 먼저 /usr/share/nano/nanorc.nanorc로컬 폴더 에서 로 먼저 복사해야 했습니다 ~/.nanorc.


0

키보드 단축키 Alt+를 사용하여 실수로 강조 표시를 비활성화했습니다 Y. 동일한 키보드 단축키로 다시 켤 수 있습니다.


0

오래된 스레드라는 것을 알고 있지만 솔루션이 도움이 될 수 있습니다.

/ etc / nanorc에서 파일을 편집하십시오

243 행에서 로트 포함 파일을 찾을 수 있습니다. 필요한 것을 저장하고 완료 한 내용을 주석 해제하십시오.

## 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"

nano를 업데이트하면 이러한 변경 사항이 사라질지 확실하지 않습니다.


-1

방금 나노에 색상을 추가하기 위해이 스크립트를 만들었습니다. 물론 / usr / share / nano에 색상 코드가 있어야 작동합니다. 오류가있는 경우 : ~ / .nanorc 파일을 수동으로 편집하고 오류가있는 줄을 제거하십시오.

#!/bin/bash

for i in `ls /usr/share/nano`
  do
    echo "include /usr/share/nano/$i" >> ~/.nanorc
  done

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.