2017-11-24 13 views
0

색깔이있는 로그 엔트리 (* .smt2 확장자로 말하십시오)가 있습니다. 색상은 ansi 이스케이프 코드로 정의됩니다. AnsiEsc.vim을 기반으로하는 vim 플러그인을 설치했습니다. 오류가 발생 했으므로 제대로 작동하지 않았는지 확인합니다.vim : AnsiEsc - 기본 설정 방법

이제 vim 편집기를 열면 AnsiEsc를 입력해야합니다. 기본 뷰로 .vimrc에 AnsiEsc를 추가하려면 어떻게해야합니까? (나는 Vim에 새로운 이래로 모든 단계를 말해 준다.) 고마워.

답변

1

:AnsiEsc 명령은 현재 버퍼에만 적용되므로 autocmd는 명령 줄 인수로 전달 된 첫 번째 파일에서만 작동합니다. :edit 또는 :split을 통해 열린 파일은 누락됩니다. 더 BufRead 이벤트 사용 또한

autocmd BufRead * AnsiEsc 

을, 나는 (즉 유감 것) 만 로그 파일을 볼 수 빔을 사용하는지 궁금해? :AnsiEsc 명령은 다른 종류의 파일 편집을 방해 할 수 있습니다.

보통 해결책은 사용자 정의 파일 유형을 정의하는 것입니다. log. 그런 다음 ~/.vim/ftplugin/log.vim에서 다음 스크립트를 통해 해당 파일에 대한 플러그인을 활성화 할 수 있습니다

" Only do this when not done yet for this buffer 
if exists("b:did_ftplugin") 
    finish 
endif 
AnsiEsc 

(당신은 또한 당신의 .vimrc에 :filetype plugin on이 필요합니다.)

를 로그 파일을 열려면 지정해야 파일 타입은 vim "+setf log" logfile이거나 나중에는 :setf log을 통해 Vim 내부에 있습니다. 물론, 로그 파일 이름이 패턴을 따르거나 내부에 특정 공통 문자열을 가지고 있다면, 파일 유형 탐지을 작성할 수 있습니다. :help new-filetype을 참조하십시오. 또는 셸 별칭을 작성합니다 (예 : alias vimlog='vim +setf\ log'

+0

답변 해 주셔서 감사합니다. 파일의 확장자가 * .smt2 인 경우 이 확장명을 가진 파일 만 표시하면됩니다. AnsiEsc – Sepideha

+1

내 답변의 두 번째 부분 인 사용자 정의 파일 유형에 해당합니다. 이 파일들을'log /'형식 (당신도 적용 가능)으로 탐지하기 위해서는'~/.vim/ftdetect/log.vim'에'au BufRead, BufNewFile * .smt2 set filetype = log'을 입력하십시오. Cp. 자세한 내용은': help new-filetype'을 참조하십시오. –