많은 프로그래밍 지향 편집기가 소스 코드를 채색합니다. 터미널에서 볼 수 있도록 소스 코드를 채색하는 명령이 있습니까?
내가 가진 파일을 열 수 emacs -nw
(대신 새 창을 팝업의 터미널에서 열립니다),하지만 난 뭔가를 찾고 있어요 그런 작품 less
(또는 작품 에 less -R
입력 컬러 이스케이프 시퀀스를 통과).
답변
와 highlight
같은 색 이스케이프 시퀀스를 지원하는 단말에서 xterm
:
highlight -O xterm256 your-file | less -R
로 ruby-rouge
:
rougify your-file | less -R
pygmentize your-file | less -R
source-highlight -f esc256 -i your-file | less -R
함께 제공되는 스크립트를 사용 vim
하여 호출기로 사용할 수도 있습니다 (자세한 내용은 내부 참조).macros/less.sh
vim
:h less
vim
내 시스템에서 :
sh /usr/share/vim/vim74/macros/less.sh your-file
또는 당신은 지원 HTML 출력과 사용 구문 형광펜을 사용할 수 elinks
또는 w3m
페이저 (또는 AS elinks -dump -dump-color-mode 3 | less -R
와 같은) GNUsource-highlight
:
source-highlight -o STDOUT -i your-file | elinks -dump -dump-color-mode 3 | less -R
답변
나는 이것을 위해 GNU를 source-highlight
결합하여 less -R
사용합니다. 쉘의 초기화 파일에 다음 행을 추가하십시오 ( ~/.bashrc
예 :).
cless(){
LESSOPEN='| source-highlight --failsafe --out-format=esc256 -o STDOUT -i %s 2>/dev/null ' less -R "$@"
}
사용 된 언어에 따라 소스 코드에 자동으로 색상을 지정해야하며, 그렇지 않으면 less
입력시 직접 실행 됩니다.
답변
less
보다 일반적으로 색상에 관심이있는 경우를 참조하십시오 lesspipe.sh
. 예를 들어 http://freecode.com/projects/lesspipe 를 참조 하십시오 .
lesspipe.sh는 less의 man page에서 설명한대로 pager에 대한 입력 필터입니다. 이 스크립트는 ksh 호환 쉘 (예 : bash, zsh)에서 실행되며 바이너리 컨텐츠, 압축 파일, 아카이브 및 아카이브에 포함 된 파일이있는 파일을 적게 사용하도록합니다.
또한 텍스트 편집기와 유사하게 쉘 스크립트, 펄 스크립트 등을 채색하지만 채색을 위해 “전처리”프로그램을 사용하지 않습니다.
답변
나는 단순함을 즐기고 나노 텍스트 편집기를 사용합니다.이 경우 보통 다음과 같이 진행합니다.
마녀 구문 강조 표시 확인 가능 :
ls -la /usr/share/nano/
다음 명령을 사용하거나 수동으로 수행하여 nanorc 파일에 포함하십시오.
echo 'include /usr/share/nano/sh.nanorc' >> ~/.nanorc
에 대해 less
내가 한 번 봐주고 제안 이 페이지를
답변
Stéphane Chazelas 제안 에 따르면 highlight
show Syntax highlight 를 사용 하고 .bashrc 등에 넣는 bash 함수를 만듭니다 . 훌륭하고 빠르며 효과적입니다.
s(){ highlight --force -O ansi $1 | /usr/bin/less -R; }
지원 202 언어 구문 형식을 강조 표시 합니다 . 참조하십시오 highlight --list-scripts=langs
.
답변
and와 같은 호출기에 구문 강조 지원을 제공하는 e2ansi 패키지를 사용할 수 있습니다 .more
less
이 패키지는 모든 텍스트 편집기의 어머니 인 Emacs 를 사용하여 실제 구문 강조를 수행합니다. 또한 보너스로 압축 해제 파일과 같이 Emacs에서 일반적으로 수행하는 다른 모든 변환도 수행됩니다.
예
다음은 less
and를
사용하여 파일을 본 결과입니다 e2ansi
.
구성
이 패키지는 e2ansi-cat
배치 모드에서 Emacs를 시작하고 파일을 열고 구문을 강조 표시하고 ANSI 시퀀스를 사용하여 결과를 렌더링 하는 명령 행 도구 를 제공합니다 .
less
예를 들어 다음과 같은 변수를 설정하여 이를 통합 할 수 있습니다 (init 파일의 위치가 다를 수 있음).
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
위의 구성 less
에서 원래 터미널 창 내용을 복원 more
하면서 프롬프트 후에 새 내용을 출력하면됩니다.
참고 :의 이전 버전을 사용하는 경우 또는 구문을 less
지원하지 않을
수 있으며이 경우 간단하게 사용해야
합니다.||
-
LESSOPEN=|/usr/local/emacs ...
less
파이프에서 사용
“-“문자는 LESSOPEN
텍스트를로 파이핑 할 때 입력 필터도 사용해야 함을 나타냅니다 less
. 이 경우 Emacs는 파일 자체가 아닌 텍스트에만 의존 할 수 있습니다. 다행히 Emacs는이를위한 시스템을 제공합니다. 또한 제공된 파일 파일
e2ansi-magic.el
은 추가 파일 유형을 설정합니다. 예를 들면 다음과 같습니다.
왜 이맥스를 사용 하는가?
- Emacs는 거의 모든 프로그래밍 언어와 구조화 된 텍스트 형식을 지원합니다. 대부분의 경우 구문 강조 지원이 우수합니다.
- 더 많은 언어와 형식에 대한 지원을 쉽게 추가하거나 필요에 따라 기존 패키지를 수정할 수 있습니다.
- 이맥스는 색상 테마를 지원합니다. 를 사용하면
e2ansi
에서 파일을 볼 때 테마의 색상이 유지됩니다less
. 다양한 소스에서 적절한 색상 테마를 선택하거나 직접 디자인 할 수 있습니다. - Emacs를 선택한 편집기로 사용하는 경우 파일을 볼 때와 동일한 강조 표시가 표시됩니다
less
(ANSI 시퀀스 형식 및 터미널 창에서 빼기 제한). less
압축 해제 파일과 같은 자동 변환을 수행하는 Emacs 기능을 활용합니다. 실제로 Emacs가 외부 도구를 사용하여 이진 파일을 사람이 읽을 수있는 형태로 자동 변환하는 것과 같은 모든 종류의 변환을 수행하도록 지시 할 수 있습니다.- 원격 액세스를 위해 Emacs의 구문을 사용하여 다른 컴퓨터에있는 파일을 볼 수 있습니다
/USER@HOST:FILENAME
.
유용한 링크
e2ansi
Melpa에 배포되며 표준 Emacs 패키지 시스템을 사용하여 설치할 수 있습니다e2ansi
GitHub에서 호스팅됩니다- 이맥스 위키 의
e2ansi
페이지 - 의 집
less
.
운영 체제 노트
답변
이를 구문 강조라고합니다.
GNU 소스 는 소스 파일이 주어지면 강조 표시 되어 문서를 생성합니다.
lessfilter
아래 스크립트를 사용 하거나 다음 less
과 같이 자동으로 호출 할 수 있습니다.
export LESSOPEN="| /path/to/lessfilter %s"
export LESS=' -R '
이 기사를 찾아서 이렇게 시작했습니다.
#!/bin/sh
file -b -L "$1" | grep -q text &&
/usr/share/source-highlight/src-hilite-lesspipe.sh "$1"
( 모든 배포판에 포함 src-hilite-lesspipe.sh
되어 source-highlight
있지는 않지만)