반응형
1. Vim 배우기
이 표는 KLDP의 Mr.Dust 님이 2009년 2월 viemu.com의 vim cheat sheet를 한글화한 자료입니다.
그 밖의 viemu.com의 VIM 튜토리얼 시트....
2. vim 플러그인
설치 위치
~/.vim/plugin
없으면 만들어 준다.[TagList]
왼쪽 스플릿 윈도우에 전역변수와 함수 리스트를 만들어 준다.
선택하면 바로 이동, vimrc에서 <F8>에 맵핑해서 사용하고 있다.
[Buf Explorer]
여러개의 파일을 하나의 vim에서 열었을 때 리스트를 보고 편하게 이동할 수 잇다.
.vimrc에서 <F10>키에 맵핑해서 사용하고 있다.
3. .vimrc
syn on
set tags+=/usr/src/linux/tags
set tag+=./tags
set tagbsearch "speed up searching tag
set encoding=euc-kr
set nocompatible
set number
set bs=2
set tabstop=4
set shiftwidth=4
set cindent
set smartindent
set ai
"set autowrite
set pastetoggle=<Ins> " Inseart Key toggle indenting for code paste
set wrap
set nowrapscan
set nobackup
set ruler
set sc
set noet "no space change with tab
set sts=0
set hlsearch
set history=999
set mps+=<:> " add user brace
set showmatch " show new match
colorscheme wombat
" ============================================
" set cursor to the last worked line
" ============================================
au BufReadPost *
\ if line("'\"")>0 && line("'\"")<=line("$")|
\ exe "normal g'\"" |
\ endif
" ============================================
" set abbr
" ============================================
abbr p# printf("[SDBG] %s:%d\n", __FUNCTION__, __LINE__);
" ============================================
" mapping function key
" ============================================
map <F1> K
map <F2> :w!<CR>
map <F3> [{v]}zf
map <F4> zo
map <F5> :30vs .<CR>:set nonumber<CR>
map <F6> ^Ww
map <silent> <F8> :TlistToggle<CR>
map <silent> <F10> :BufExplorer<CR>
map <F11> ^]
map <F12> ^T
^ = Ctrl+Vset tags+=/usr/src/linux/tags
set tag+=./tags
set tagbsearch "speed up searching tag
set encoding=euc-kr
set nocompatible
set number
set bs=2
set tabstop=4
set shiftwidth=4
set cindent
set smartindent
set ai
"set autowrite
set pastetoggle=<Ins> " Inseart Key toggle indenting for code paste
set wrap
set nowrapscan
set nobackup
set ruler
set sc
set noet "no space change with tab
set sts=0
set hlsearch
set history=999
set mps+=<:> " add user brace
set showmatch " show new match
colorscheme wombat
" ============================================
" set cursor to the last worked line
" ============================================
au BufReadPost *
\ if line("'\"")>0 && line("'\"")<=line("$")|
\ exe "normal g'\"" |
\ endif
" ============================================
" set abbr
" ============================================
abbr p# printf("[SDBG] %s:%d\n", __FUNCTION__, __LINE__);
" ============================================
" mapping function key
" ============================================
map <F1> K
map <F2> :w!<CR>
map <F3> [{v]}zf
map <F4> zo
map <F5> :30vs .<CR>:set nonumber<CR>
map <F6> ^Ww
map <silent> <F8> :TlistToggle<CR>
map <silent> <F10> :BufExplorer<CR>
map <F11> ^]
map <F12> ^T
4. 멀티 파일 작업
1) 고전적인 방법
파일이 많을때는 Buffer Explorer를 사용하는게 편하지만, 2/3개의 적은 파일을 작업할 경우 더 빠르게 작업가능.
- 파일 열기
: e [filename]
- 파일 이동 :
: n(ext) // 다음 다일로
: N or : prev // 이전 파일로
단축키 <Ctrl+6> 으로 열린 파일을 탐색이 가능하다.
- 파일 열기
: e [filename]
- 파일 이동 :
: n(ext) // 다음 다일로
: N or : prev // 이전 파일로
단축키 <Ctrl+6> 으로 열린 파일을 탐색이 가능하다.
2) 고전적인 방법 + Buffer Explorer
플러그인 Buffer Explorer를 설치하고 단축키로 리스트를 열어서 선택
3) 탭을 사용하는 방법 (vim 7.0 이후)
잘 사용하지 않는 편이지만 기분전환이 필요할 때...^^;;;
-파일 열기
vim 시작시 각각의 파일을 탭으로 추가
vim -p [filename] [filename] ...
- 에디팅중 파일 열기
: tabnew [filename]
: tabe [filename]
- 파일 이동
: tabn // 이전 탭으로
: tabp // 다음 탭으로
: tabfir(st) // 처음 탭으로
: tablast // 마지막 탭으로
<단축키>
<gt> // 다음탭
vim 시작시 각각의 파일을 탭으로 추가
vim -p [filename] [filename] ...
- 에디팅중 파일 열기
: tabnew [filename]
: tabe [filename]
- 파일 이동
: tabn // 이전 탭으로
: tabp // 다음 탭으로
: tabfir(st) // 처음 탭으로
: tablast // 마지막 탭으로
<단축키>
<gt> // 다음탭
5. ctag 운용 명령어
[단축키]
Ctrl+] - 태그로 이동
Ctrl+T - 되돌아 오기
[ctags 명령어 목록]
: tn - tag next
: tp - tag previous
: ts - tag select, tag를 리스트로 보여주고 번호로 선택할 수 있게한다.
: ta [name] - name과 일치하는 태그 위치로 이동
: ta /[name] - name과 일치하는 태그 출력
: tj [name] - 목록이 한 개인 경우 이동, 여러 개인 경우 출력
:tags - 이동한 태그 히스토리 목록 출력
Ctrl+] - 태그로 이동
Ctrl+T - 되돌아 오기
[ctags 명령어 목록]
: tn - tag next
: tp - tag previous
: ts - tag select, tag를 리스트로 보여주고 번호로 선택할 수 있게한다.
: ta [name] - name과 일치하는 태그 위치로 이동
: ta /[name] - name과 일치하는 태그 출력
: tj [name] - 목록이 한 개인 경우 이동, 여러 개인 경우 출력
:tags - 이동한 태그 히스토리 목록 출력
6. 그 밖의 팁들
1. grep등으로 함수의 이름을 검색한 후 파일을 열때 라인으로 바로 이동하기
vim +<line> <file>
vim +<line> <file>
[VIM 관련 유용한 사이트]
http://kldp.org/node/102947
http://kltp.kldp.net/stories.php?topic=25
http://vi.kldp.net/
http://wiki.kldp.org/wiki.php/DocbookSgml/Vim-KLDP
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
http://my.opera.com/subjam/blog/vim-tips
http://vimdoc.sourceforge.net/htmldoc/usr_toc.html
http://www.vim.org/scripts/script.php?script_id=625
반응형
'IT Tech > Linux' 카테고리의 다른 글
awk에서 쉘파라메터 사용하기 (0) | 2015.06.12 |
---|---|
[LINUX] ARP 테이블 클리어, ip 툴 (0) | 2015.01.30 |
VMWare+Linux 루트 패스워드(Root Password) 복구 방법!! (0) | 2013.11.17 |
[리눅스] 인터페이스 맥 주소(MAC Address) 수정하기 (0) | 2012.04.26 |
[리눅스] screen utility 사용법 (0) | 2012.01.14 |
[C언어] 리눅스 프로세스 이름으로 프로세스 아이디(PID) 구하기 (0) | 2011.10.17 |
[LINUX] 리눅스 시스템에 VLAN 추가,삭제하기 (0) | 2011.09.22 |
[네크워크&리눅스] tcpdump로 패킷 덤프 사용 예제 (0) | 2011.09.16 |
[리눅스] 프로세스 이름으로 검색(grep)해서 죽이기 (0) | 2011.08.05 |
[리눅스] 유팉 - grep 에서 특정 디렉토리(.svn)을 제외하고 검색하기 (0) | 2011.06.17 |