- find /path -name "*.c" | xargs grep pattern
cscope 설정
- cscope는 ctags와 유사하나 더 많은 기능을 가진 것 같음.
- cscope 설정방법
- cscope를 설치.
- http://cscope.sourceforge.net/cscope_maps.vim 을 cscope_maps.vim을 저장.
- .vimrc 가 있는 폴더에 저장
- .vimrc 파일에 cscope_maps.vim을 포함시킴.
- 자신의 home directory에 저장했을 경우에 source ~/cscope_maps.vim 를 .vimrc에 포함.
- c code가 있는 directory에서 cscope -R 로 database를 만듬.
- -R은 하위 디렉토리도 포함함.
- cscope ui 상이라면 CTRL-D 로 빠져 나감.
- cscope.out 파일이 생성됨.
- java 나 c++, python, awk, makefile등은 cscope가 구문분석하지 않음
- C, lex, yacc 파일만을 (.c, .h, .l, .y) 기본적으로 구문분석함.
- 다른 파일도 database를 추가하려면 아래와 같이
- find . -name '*.java' >> cscope.files
- find . -name '*.cpp' >> cscope.files
- cscope.files 파일을 만든 후에 cscope -b -q -k 를 실행하여 database를 update.
- cscope.files는 cscope.out과 같은 폴더에...
- -b : only update database
- -q : creating inverted index
- -k : sets Cscope's 'kernel' mode--it will not look in /usr/include for any header files
- vim 실행 후 source내에서 symbol 찾기
- 찾을려고 하는 symbol 위에서 'CTRL+\,s' (컨트롤-역슬래시 입력하고 그냥 s)를 입력 => symbol로 빠르게 이동하거나 리스트가 보여짐. 리스트가 보여질 경우에는 선택하면 되고~
- CTRL+t 하면 이전으로 고고
- symbol위에서 'CTRL-spacebar s' 하면 vim 창을 분발하여 symbol로 이동.
- vim command line에서 찾기 명령어
- cscope 명령어를 사용하라.(or cs로 typing해도 됨)
- cscope fine (querytype) "string"
- (querytype)
- s : symbol
- g : definition
- d : function called by this function
- c : function calling this function
- t : text
- f : this file
- i : include file
- cscope 명령대신 scscope(or scs로 typing해도 됨) 사용하면 가로로 창이 분할되어 symbol을 찾음.
댓글 없음:
댓글 쓰기