kosslab-kr / linux-perf

:rocket: perf contribution (mirrored from git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git)
Other
16 stars 8 forks source link

[권욱제] 'ctags - vi에서 함수의 내부로 점프하기' 정리 #38

Open wookje opened 8 years ago

wookje commented 8 years ago

ctags 설치 및 사용법

ctags의 특징

설치확인 $ ctags -help

설치 $ sudo apt-get install ctags

ctags의 생성

원하는 파일만 생성 $ ctags file1 혹은 $ ctags file1 file2 file3 ...
모든 파일에 대해 생성 $ ctags -R

tags 파일 열기 $ vi tags
tags 파일 구조 [태그명] [파일명] [파일 내에 정의된 형식]
예시

main main.c int main(void) f print_hello print_hello.c void print_hello.c() f

원하는 태그로 이동 :tj [tags]
이전 태그로 돌아가기 :po
분할된 창에서 태그 확인 :stj tag_name
단축키 :tj -> Ctrl + ] // 해당 함수(변수) 내부로 점프 :po -> Ctrl + t // 다시 이전 위치로(점프해서 들어오기 전 위치로) 점프

vi에서 ctags 사용하기

tags 파일이 있는 경로 등록 $ vi ~/.vimrc를 열고 set tags=/home/wookje/test_project/tags(위에서 생성한 tags 파일이 있는 절대경로)
이후 vi에서 :tj, :po 등의 명령어 사용 가능

기타 명령어들

명령어 설명
:tj [tags] (Ctrl + ]) Tag가 정의된 부분들을 모두 보여주고 선택한 위치로 점프, 현재 위치는 stack에 push됨
:po (Ctrl + t) 점프해서 들어오기 이전 위치로 점프, 현재 위치는 stack에서 pop됨
:tn 다음 tag로 점프
:tp 이전 tag로 점프
:tr 처음 tag로 점프
:tl 마지막 tag로 점프
:stj [tags] 창을 수평으로 분할하여 창을 새로 생성한 뒤 :tj 명령어를 수행함
:pts [tags] 창을 수평으로 분할하여 창을 새로 생성한 뒤 현재 위치에서 :tj 명령어를 수행함
:ptj [tags] 미리보기 윈도우에 tag가 정의된 형식을 보임
:ptn (:pts나 :ptj로 점프한 경우) 다음 tag로 점프
:ptp (:pts나 :ptj로 점프한 경우) 이전 tag로 점프
:ptr (:pts나 :ptj로 점프한 경우) 처음 tag로 점프
:ptl (:pts나 :ptj로 점프한 경우) 마지막 tag로 점프

빠르게 작성하느라 친절하지 못한 글이 돼버렸네요... 곧 수정하겠습니다

Taeung commented 8 years ago

와우 깔끔하게 정리 잘하셨네요 :+1:

NB3025 commented 8 years ago

감사합니다 ~/.vimrc 에 다음 내용 적으니 소스보기가 더 좋습니다.

set tabstop=2 "탭 간격을 2 칸으로 지정 set visualbell "비프음 대신 화면 깜빡임 set cindent "C 스타일 들여쓰기 set autoindent "자동 들여쓰기 set smartindent "지능적인 들여쓰기? set incsearch "점진적 검색 set ruler "행,열번호 set hlsearch "검색어 강조 set number "왼쪽 줄번호 syntax on "구문강조 filetype on "파일 종류에 따른 구문 강조 colorscheme evening "컬러 테마 설정