Vim 에서 TODO 와 FIXME 등 비고 하 는 방법 을 보 여 줍 니 다.

3267 단어 vimtodofixme
머리말
많은 프로그래머 들 이 저 를 포함 하여 코드 를 쓸 때 습관 적 으로 TODO,FIXME,HACK 등 을 주석 접두사 로 사용 합 니 다.이렇게 하면 자신 과 후발 자 들 이 관련 주석 과 코드 의 상황 을 미리 알 수 있다.
그러나 이러한 비 고 는 나중에 우연히 이 코드 를 볼 때 만 볼 수 있 고 한 번 에 판 을 보 내 거나 한가 할 때 직관 적 인 화면 에서 이 프로젝트 의 모든 키 워드 를 볼 수 있다.
이 럴 때 간단 한 사용자 정의 명령 이 도움 이 될 수도 있 습 니 다.

command Todo Ack! 'TODO\|FIXME'
효 과 는 다음 과 같 습 니 다:

그러나 이 명령 을 발효 시 키 려 면 환경 준비 작업 이 필요 하 다.
Ack
우선 Ack 나 Ag 를 설치 해 야 합 니 다.이 두 가 지 는 모두 명령 행 아래 의 전역 검색 도구 입 니 다.시스템 이 자체 적 으로 가지 고 있 는 grep 보다 훨씬 빠 릅 니 다.
이곳 의 설 치 는 Ag 의 경우 C 를 기반 으로 재 작성 한 Ack 이기 때문에 많은 특성 이 추가 되 었 고 효율 도 Ack 보다 훨씬 빨 라 졌 다.

# OSX
brew install the_silver_searcher
# Archlinux
pacman -S the_silver_searcher
# Ubuntu
apt-get install silversearcher-ag
설치 가 완료 되면 셸 에서 테스트 할 수 있 습 니 다.

ag TODO ./
Ack.vim
Ack.vim는 Vim 에서 Ack/ag 를 편리 하 게 사용 한 다음Quickfix을 통 해 검색 결 과 를 제공 하 는 플러그 인 입 니 다.
그러나 이 플러그 인 은 기본적으로 검색엔진 으로 사용 되 는 Ack 입 니 다.우리 가 방금 설치 한 Ag 를 사용 하기 위해 서 는~/.vimrc에 설정 을 해 야 합 니 다.

if executable('ag')
 let g:ackprg = 'ag --vimgrep'
endif
이 설정 은 인 용 된 공식 창고 의 Readme 입 니 다.
근 데 많은 분 들 이 쓰 시 더 라 고요.

if executable('ag')
 let g:ackprg = 'ag --nogroup --nocolor --column'
endif
본인 이 테스트 한 결과 두 사람 은 별 차이 가 없 었 다.아마도 Ag 에 게 --vimgrep--nogroup --nocolor --column과 같 을 것 이다.
이때 Vim 명령 줄 에 입력

:Ack! TODO 
위의 그림 에서 보 여 준 효 과 를 실현 할 수 있 고 통과 할 수 있다.

:AckAdd FIXME
이런 방식 으로 다른 볼 것 을 추가 합 니 다.
그러나 이런 방식 은 명령 이 좀 길다.그래서 위의 명령 대신 alias 를 설정 하 는 것 은 게 으 른 사람 에 게 맞 는 생각 입 니 다.~/.vimrc에 추가 되 었 습 니 다.

command Todo Ack! 'TODO\|FIXME'
그리고 Vim 명령 줄 에 입력:

:Todo
현재 프로젝트 에 있 는 모든 TODO,FIXME 를 보 여 줍 니 다.그리고 자신의 필요 에 따라 이러한 키 워드 를 확장 할 수 있 습 니 다.저 처럼 다음 코드 로 확장 할 수 있 습 니 다.

command Todo Ack! 'TODO|FIXME|CHANGED|BUG|HACK'
command Debug Ack! 'NOTE|INFO|IDEA'
Todo 와 Debug 두 가지 기능 을 구분 했다.
하 이 라이트
Vim 에 서 는 TODO,FIXME 가 자동 으로 강조 되 지만 CHANGED 와 같은 키 워드 는 강조 되 지 않 기 때문에 수 동 으로 지정 해 야 합 니 다.~/.vimrc에 다음 설정 을 추가 합 니 다.

if has("autocmd")
 " Highlight TODO, FIXME, NOTE, etc.
 if v:version > 701
 autocmd Syntax * call matchadd('Todo', '\W\zs\(TODO\|FIXME\|CHANGED\|BUG\|HACK\)')
 autocmd Syntax * call matchadd('Debug', '\W\zs\(NOTE\|INFO\|IDEA\)')
 endif
endif
위의 이 코드 는 발췌 한 것 으로 구체 적 인 기능 은 TODO 등 키워드 와 일치 한 다음 에 문법 적 하 이 라 이 트 를 더 하 는 것 이다.
종합 하면 간단 하고 쓰기 좋 은 TODO 관리자 가 완성 되 었 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기