Nerd tree는 vim 유저들중 사랑받는 플러그인 중 하나입니다.

http://www.vim.org 에 접속합니다.

왼쪽의 Scripts를 누르고 keywords에 nerd를 입력하여 검색된 결과를 살펴 봅니다.


눌러서 다운을 받습니다. 


리눅스에서는 ~/.vim 디렉토리에 다운받아 압축을 풀어주면 됩니다.

$ cp ./NERD_tree.zip ~/.vim

$ cd ~/.vim

$ unzip ./NERD_tree.zip


그다음 VIM을 열어서

:NERD 까지입력하고 tab을 치면 :NERDTree가 자동완성되어 입력되는것을 확인하실 수 있습니다.






NERD tree 명령어

:NERDTree [path] 

디렉터리를 열어서 보여줍니다. 

path를 생략하면 현재 디렉터리를 열어줍니다.

:NERDTreeClose 

NERD tree 창을 닫습니다.

:NERDTreeFind 

현재 열고있는 파일이 트리의 어디에 있는지 보여줍니다.




NERD tree의 주요 브라우징 단축키

 enter, o

 디렉토리의 경우이동, 파일인 경우 열어줍니다. 열려있는 노드인 경우 닫습니다. 

 t

 파일을 새로운 탭에 열어줍니다. 

 T 

 파일을 새로운 탭에 백그라운드로 열어줍니다. 

 x 

 현재 선택된 노드를 닫고 상위 노드로 이동합니다. 

 X 

 현재 선택된 노드를 포함하여 하위 노드를 모두 닫습니다. 

 e 

 선택된 노드를 새 창에서 열어줍니다. 





TagList

소스코드를 분석하여, 변수, 매크로, 함수의 목록을 만들어 줍니다.

예를 들어 현재 디렉터리에있는 *.c 파일을 분석하려면 다음 명령대로 입력하면 됩니다.


:TlistAddFiles *.c   //*.c 파일을 읽어들이라는 명령

:TlistToggle         // 태그창을 열거나 닫는 명령.


각 태그에서 엔터를 치면 즉시 해당 태그로 이동하여 편집할 수 있고, 태그에서 스페이스바를 누르면 변수나 함수의 선언 부분을 볼 수도 있습니다.



taglist도 역시 vim 사이트에서 받습니다.


$ cp ./taglist_46.zip ~/.vim

$ cd ~/.vim

$ unzip ./taglist_46.zip



taglist와 Nerd Tree를 같이 뛰웠습니다.





VIM Mouse

=> 터미널 창에 마우스 (mouse) 클릭이 가능하도록 설정


:set mouse=a 


매번 귀찮으니깐, 


$ vim ~/.vimrc  에 set mouse=a 등록할 것~!





ctag와 cscope는 해당 pdf를 참고하여 설치및 사용해보았습니다.


csl.skku.edu/uploads/SSE3044F12/vim_ctags_cscope.pdf



ctags 설치

-> 소스코드 함수, 구조체 등 태그 리스트 출력.


*설치

$ sudo apt-get install ctags


*태그 생성방법.

$ ctags [options] [files] 명령이용하여 생성.

$ ctags -R  //-R의 경우, 특정디렉토리 아래에있는 소스파일들에 대해 태그 생성.



태그 생성됨. 그 이후 이런식으로 치면 검색됨.

$ vim -t main 



 vim 상에서 검색을 하고싶다면

:ta tag이름 으로 치면 검색된다.



다음 태그로 이동할때는 :tn   이전은 :tp 로 이동.


tj 명령이용하면 키워드 일치하는 태그가 한개일 경우 바로이동, 두개이상일 경우 목록을 출력하고 그 중 선택하여 이동


:tj tagname 하면 여러개가 나오고 그때 번호를 눌러서 이동가능.









cscope

ctags는 변수, 함수, 매크로, 구조체는 검색되는데 함수 호출한 부분,함수에 의해 호출되는 부분들은 검색이 안됨.


반면 cscope는 변수, 함수, 매크로, 구조체, 전역선언, 특정함수에 의해 호출되는 함수, 특정 함수를 호출하는 함수, 문자열 등을 검색할 수 있다.


$ sudo apt-get install cscope







cscope database 생성방법


http://manime.tistory.com/entry/cscope-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC     참고.


$  find . \( -name '*.c' -o -name '*.h' -o -name '*.s' -o -name '*.S' \) -print > cscope.files



db 파일인 cscope.files 가 생성됨.


이걸 vim에서 검색할 수 있도록 ~/.vimrc 에등록 하거나


아래와 같이 vim에 서 등록하기도 가능.


 :cs add ~/경로명~~~/cscope.out



아래 site가 설명이 정말 잘되어있습니다. 

http://blog.naver.com/PostView.nhn?blogId=rullrow&logNo=70169937319





: cs find s myfunc 로 검색가능.


검색할 태그번호를 선택하고 엔터를 치면 해당 태그로 이동.

다음검색어는 :cn , 이전은 :cp 로 이동가능.













'리눅스 Linux > VIM VI Editor' 카테고리의 다른 글

VIM 개발자에게 유용한 기능들  (0) 2018.04.12
VIM 편리한 편집기술  (0) 2018.04.12
vim 파일 관련 편집 기능  (0) 2018.03.27
vim 문자열 관련 기능  (0) 2018.03.26
VIM 옵션, 도움말, 에러처리  (0) 2018.03.23

+ Recent posts