![임의 텍스트의 색상 지정(및 해당 내보내기)을 허용하는 텍스트 편집기?](https://linux55.com/image/79612/%EC%9E%84%EC%9D%98%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EC%9D%98%20%EC%83%89%EC%83%81%20%EC%A7%80%EC%A0%95(%EB%B0%8F%20%ED%95%B4%EB%8B%B9%20%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0)%EC%9D%84%20%ED%97%88%EC%9A%A9%ED%95%98%EB%8A%94%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8E%B8%EC%A7%91%EA%B8%B0%3F.png)
좀 읽기 어려울 정도로 큰 트레이스백이 있어서, 읽기 쉽도록 트레이스백 텍스트의 일부에 색상을 칠해야겠다고 생각했습니다. (제 생각에는 후퇴 질문으로 이 질문이 여기에 적절하다고 생각합니다. 그렇지 않은 경우 관리자는 자유롭게 소프트웨어 Recs로 이동하십시오.)
Linux에서 가장 간단한 옵션은 Open/LibreOffice 를 사용하는 것입니다 writer
.
- 줄 번호가 지정되지 않았습니다.
- 글꼴은 기본적으로 고정 폭이 아닙니다.
- 페이지 사이에 나누기가 도입되어 읽기가 더 어려워집니다.
...그러나 텍스트를 선택하고 색상을 선택하여 쉽게 텍스트 색상을 지정할 수 있으며 해당 색상을 HTML로 내보낼 수 있습니다.
내가 이상적으로 원하는 것은 줄 번호와 단일 "페이지" 텍스트가 있는 Scite나 Geany와 같은 일반 텍스트 편집기입니다.
- 임의 선택(마우스 또는 정규 표현식을 사용 - 파일에서 여러 항목을 선택할 수 있음을 의미함(예: 한 줄의 세 번째 단어마다))
- 그 선택을 색칠할 수 있는 가능성, 그리고
- 이 색상/형식이 지정된 텍스트는 ANSI 문자 시퀀스(예:
cat
또는 를 통해 터미널에서 색상 텍스트를 볼 수 있도록less -R
) 또는 HTML로 내보낼 수 있습니다.
거기에 텍스트 편집기(또는 기존 편집기용 플러그인)가 있습니까?
답변1
vim
구문 강조가 활성화되면 특정 로그 파일 형식을 인식하고 색상을 지정합니다. 예를 들어 gvim은 /var/log/syslog를 표시합니다.
vimtutor
명령을 통해 약 30분 만에 vim을 배울 수 있습니다. 물론 이를 마스터할 수는 없으며 구문 강조 기능도 사용할 수 없지만 파일을 탐색하는 방법을 배우고 그 강력함에 대한 힌트를 얻을 수 있습니다.
구문 강조를 활성화하는 것은 그만큼 간단해야 :syntax on
하지만 구문을 지정해야 할 수도 있습니다. 그래픽 사용자 인터페이스(gvim,맥빔등)에는 항목이 포함된 메뉴 표시줄이 있습니다 Syntax
. 필요한 경우 "메뉴에 파일 형식 표시"를 지시한 다음 적절한 형식을 찾으세요. /var/log/syslog는 "메시지" 형식을 사용합니다( 로도 이 작업을 수행할 수 있음 :set syn=messages
).
출력 vim 구문 강조
다음은 이러한 색상을 HTML HTMLize
로 출력하고 에 매핑하는 기능 입니다 F7.~/.vimrc
function! HTMLize(...)
let scheme = "default"
if (a:0 > 0)
let scheme = a:1
endif
let g:html_use_css = 0
let oldcolorscheme = g:colors_name
let oldbg = &background
execute "colorscheme " . scheme
set background=light
TOhtml
%s/[\r\n]\+//g
%s/\(color="\|text="\|style="background-color: \)#af0000/\1#b00/ige
%s/\(color="\|text="\|style="background-color: \)#a52a2a/\1#a22/ige
%s/\(color="\|text="\|style="background-color: \)#af5f00/\1#a60/ige
%s/\(color="\|text="\|style="background-color: \)#d7afaf/\1#daa/ige
%s/\(color="\|text="\|style="background-color: \)#870087/\1#808/ige
%s/\(color="\|text="\|style="background-color: \)#005faf/\1#05b/ige
%s/\(color="\|text="\|style="background-color: \)#005f87/\1#068/ige
%s/\(color="\|text="\|style="background-color: \)#\([0-9a-f]\)\2\([0-9a-f]\)\3\([0-9a-f]\)\4/\1#\2\3\4/ige
%s/\(color="\|text="\|style="background-color: \)#\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\3\([0-9a-f]\)\3/\1#\2\4\5/ige
%s/\(<body \)bgcolor="\([^"]*\)" text="\([^"]*\)">[\r\n]*<font face="monospace">/\1\r\r\r\r<pre style="color:\3;background:\2;width:-moz-fit-content;width:fit-content;border:#dde dashed 1px;padding:.25em">/
%s/<\/font>\([\r\n]*<.body>\)/<\/pre>\r\r\r\r\1/
%s/<font color="/<span style="color:/g
%s/<\/font/<\/span/g
" %s/<br>$//
execute "colorscheme " . oldcolorscheme
execute 'set background = "' . oldbg . '"'
endfunction
noremap <silent> <F7> :call HTMLize("lucius")<CR>
inoremap <silent> <F7> :call HTMLize("lucius")<CR>
이건 사실 그냥 정리된 버전이에요TOhtml
색상 구성표도 변경되어 더 명확해집니다(어두운 배경과 기본값이 아닌 배경을 사용했습니다).루시우스 색 구성표, 인기 있는 것처럼햇볕에 탐 색 구성표, 어둡고 밝은 배경을 지원합니다).