- gvim 명령어
vimrc 파일 링크
https://drive.google.com/file/d/0B8GbcWIV_h-OOC1ndXBZZVRhX2s/edit?usp=sharing
> 커서 이동
k 커서를 위로 움직임
j 커서를 아래로 움직임
h 커서를 왼쪽으로 움직임
l 커서를 오른쪽으로 움직임
- 커서를 줄의 처음으로 옮김
e, E 다음단어의 끝으로, 문자단위
이동
w, W 다음단어의 처음으로, 문자단위
이동
$ 줄의 마지막으로
0 줄의 처음으로
^ 줄의 처음으로(공백이
아닌 처음시작되는 문자)
Shift+g 문서의
마지막으로 이동한다.
gg,
1g 문서의 처음으로 이동한다.
1대신 다른 숫자를 입력하면 해당 숫자의 라인으로 이동한다.
), ( 다음, 이전 문장의 처음으로
}, { 다음, 이전문단의 처음으로
]],
[[ 다음, 이전
구절의 처음으로
> 화면 스크롤
^F 한 화면 을 앞으로 스크롤
^B 한 화면 을 뒤로 스크롤
^D 반 화면 을 앞으로 스크롤
^U 반 화면 을 뒤로 스크롤
^E 한줄 앞으로 스크롤
^Y 한줄 뒤로 스크롤
Shift + h 화면의
맨 윗줄로
Shift + m 화면의
중간줄로
Shift + l 화면의
맨 아랫줄로
> 입력
i 현재위치에서 삽입
I 현재줄의 처음위치에서 삽입
a 현재위치에서 한칸앞으로 이동해서 삽입
A 현재줄의 마지막위치에서 삽입
o 새로운 줄을 커서 아래에 연다
O 새로운 줄을 커서 위연다
s 현재 위치의 문자를 지우고 입력모드로 들어간다.
S 현재위치의 라인을 지우고 입력모드로 들어간다.
> 편집
y 한줄 복사
yn 현재 라인에서부터 n라인만큼을
복사
p 복사된 내용 붙이기
dd 한줄삭제
dw 한단어 삭제
Shift+d, d$ 현재커서
위치에서 마지막까지 삭제
Shift+j 현재
행의 개행문자를 제거한다. 즉 아래라인을 현재라인에 덧붙인다.
> 블록
v 단어단위로 블럭지정이 가능하다.
블럭범위는 이동명령인 'hjkl' 로 원하는 범위 만큼 지정할수 있다.
Shift+v 라인단위
블럭지정이다. 라인전체가 선택되며, 위아래 이동명령 'hj' 으로 범위 지정이 가능하다.
Ctrl+v 블럭단위
블럭지정이다. 4각형의 블럭지정이 가능하며 이동명령인 'hjkl' 로
원하는 범위를 지정할수 있다.
> 파일 처리
:e
[filename] filename 으로 파일열기
:q,
:q!, :wq 종료,
강제종료, 저장후 종료
:w,
:w [filename] 현재파일명으로 저장, filename 로 저장
:<범위>w
[filename] 지정한 범위만 다른 파일로 저장
:e
[filename] filename 을 편집하기 위해서 연다
ZZ 지금파일을 저장하고 vim 을
종료한다.
:f 현재 작업중인 파일의 이름과,
라인수를 출력한다
- ctags
압축파일
다운
환경변수
설정
1. tags 파일을 만들기
우선 소스에서 Makefile 확인하여 tags 타겟이 있는지 확인. 있다면 그걸 활용.
# make tags
없다면, 해당 프로젝트 폴더에서 아래 명령을 batch로 만들거나 직접 실행.
ex) ctags.bat
:: for windows
ctags -R .
2. vim 설정
tags 파일이 있는 경로를 설정합니다.
# vi ~/.vimrc
""""""""""""""""""""""""""""""""""""""""""""""""
" ctags 연결
""""""""""""""""""""""""""""""""""""""""""""""""
"set tags+=D:\tags
set tags+=D:\Source\tags
경로 추가시 반드시 /tags 까지 포함해야 함. 절대경로로 작성.
CTRL+ ] (go) , CTRL+T (back)
3. 명령어
1. tags 파일을 만들기
우선 소스에서 Makefile 확인하여 tags 타겟이 있는지 확인. 있다면 그걸 활용.
# make tags
없다면, 해당 프로젝트 폴더에서 아래 명령을 batch로 만들거나 직접 실행.
ex) ctags.bat
:: for windows
ctags -R .
2. vim 설정
tags 파일이 있는 경로를 설정합니다.
# vi ~/.vimrc
""""""""""""""""""""""""""""""""""""""""""""""""
" ctags 연결
""""""""""""""""""""""""""""""""""""""""""""""""
"set tags+=D:\tags
set tags+=D:\Source\tags
경로 추가시 반드시 /tags 까지 포함해야 함. 절대경로로 작성.
CTRL+ ] (go) , CTRL+T (back)
3. 명령어
gvim
–t keyword, 또는 :ta keyword
:ta
keyword keyword와 일치하는 태그 위치로 이동
:ta
/keyword keyword가 포함된 태그 검색
:tj keyword
keyword와 일치하는 태그 목록을 출력하고 선택하여 이동 (일치하는 태그가 한개일 경우
바로 이동)
Ctrl
+ ] 커서가 위치한 keyword의 정의 부분으로 이동
Ctrl
+ t, Ctrl + o 이전 위치로 이동
:tn 다음
태그로 이동
:tp 이전
태그로 이동
:tags
이동한 태그 히스토리 목록 출력
1.cscope 생성
cscope.bat
::#!bin/sh
::rm -rf cscope.files cscope.files
::find . \(-name '*.c' -o -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.s' -o -name '*.S' -o -name '*.java' \) -print > cscope.files
::cscope -i cscope.files
:: for windows
rm -rf cscope.files cscope.files
dir /B /S *.c *.cpp *h *.s *.S *.java -print > cscope.files
cscope -b -q -k
리눅스에서는 cscope.sh파일을 실행권한을 부여한다음 /usr/bin 에 복사하면 편리하게 사용 할 수 있다.
2. vim 설정
""""""""""""""""""""""""""""""""""""""""""""""""
" cscope 연결
""""""""""""""""""""""""""""""""""""""""""""""""
"source $VIMRUNTIME/plugin/cscope_maps.vim
"cs add D:\cscope.out
cs add D:\Source\cscope.out
3. 명령어
:cs find [질의방법][심볼이름]
ex) :cs find s task_struct
질의종류
0 or s - > Find this C symbol
1 or g - > Find this definition
2 or d - > Find functions called by this function
3 or c - > Find functions calling this function
4 or t - > Find assignments to
6 or e - > Find this egrep pattern
7 or f - > Find this File-TagList
1. 설치
태그리스트는 vim 플러그인으로 현재 작업 파일의 심볼을 나열하는 기능.
http://vim-taglist.sourceforge.net/
plugin 폴더에 저장.
2. 명령어
:Tlist 실행
창 전환 ctrl+ww
[gVim plugin 설정]
https://www.facebook.com/vim.kr/posts/1421915028024646:0
위 내용 참고하면 됨.
단, 아래 설정시 Windows 에 administaror 계정만 있는 경우 아래 예시처럼 변경 필요.
적당한 위치에 git 으로 받을 폴더 위치 생성.
> git clone https://github.com/gmarik/vundle.git .vim/bundle/vundle.vim
_vimrc 에도 동일한 경로로 지정.
set rtp+=C:\.vim\bundle\vundle.vim
_vimrc 참고
set rtp+=C:\.vim\bundle\vundle.vim
call vundle#begin()
"let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
"추가하고 싶은 플러그인을 아래에 나열
Plugin 'bling/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'altercation/vim-colors-solarized'
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
Plugin 'scrooloose/nerdtree'
Plugin 'airblade/vim-gitgutter'
Plugin 'scrooloose/syntastic'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'nanotech/jellybeans.vim'
Plugin 'kchmck/vim-coffee-script'
call vundle#end()
"plugin 설치 이후
color jellybeans
syntax enable "문법 강조
set wmnu "
set nu "라인 표시
set noswapfile "백업 파일 취소
if has("gui_running") "gvim만 적용
set guifont=D2Coding:h12
set background=dark
colorscheme solarized
set guioptions-=m "메뉴 삭제
set guioptions-=T "툴바 삭제
set guioptions-=r "스크롤 삭제
endif
댓글 없음:
댓글 쓰기