vim tips
Clewn
- how to execute a shell command
r !command - 문자코드 지정 읽기
vim "+e ++enc=cp932" filename - buffer사용
- open a file as buffer
:badd f1.txt
- show list of all the existing buffers
:buffers
:ls
:files
- go to next buffer
:bNext
- back to previous buffer
:bPrevious
- delete buffer
:bdelete f1.txt
:bdelete 4
- open a file as buffer
- Folding
- creating fold or delete
- zr : create folding
- zd : delete of folding symbol nearby curosr, e.g., {{{ }}}
- zE : delete of folding symbol all in a current file
- open & close folding
- zo : Open one fold under the cursor
- zO : Open all folds under the curosr recursively
- zc : Close one fold under the cursor
- zC : close all folds under the cursor recursively
- zR : open all folds
- Moving over folds
- [z : move to the start of the cureent open fold
- ]z : move to the end of the current open fold
- zj : move downwards to the start of the next fold
- zk : move upwards to the end of the previous fold
- creating fold or delete
- Bookmark
- m{a-zA-Z} : set mark {a-zA-Z} at cursor position
- ` or `{a-zA-Z} : Jump to the mark
- :marks : show list all the current marks
- Move
- move cursor
- H : move to top of window
- M : move to middle of window
- L : move to bottom of window
- scrolling relative to cursor
- z
: Redraw, line at top of window - zt : similar to z
- z. : Redraw, line at center of window
- z- : Refraw, line at bottom of window
- z
- move
- [n]H : move, [n] line from top of window
- [n]L : move, [n] line from bottom of window
- [n]G : move, [n] line of current file
- move cursor
- Abbreviate
:abbreviate ad advertisementHowto use: ad:ab abb abbreviate // :ab kr Korea
:ab // print out list of abb
:unab abb // unable abb - 문서중의 전 탭을 스페이스로 변환
- :set expandtab
- :%retab
Cscope
cd /usr/ports/devel/cscope/
make & make install
make & make install
configure
At first we shoudl check the vim configure as following:
vim --version | grep cscope
If it is existed, we can install vim without others.
But if not so, we should install cscope and reconfigure vim makefile.
But if not so, we should install cscope and reconfigure vim makefile.
making cscope
find | grep "\.c$\|\.h$" > cscope.files
or
# for current directory.
ls | grep "\.c$|\.h$" > cscope.files
cscope -b
ctag -L cscope.files
;ctag is exuberant-ctags
ctag -n --fields=+ai -L cscop.files ctags --c-kinds=+p -R /usr/include or makeing ctags file in /usr/include
# for php
ctags --php-kinds=+cidfv -R . ../php/PEAR
# --{lag}-kindsは、ctags --list-kindsで詳細がわかる
- Ctrl-\ c : find the callers of a routine.
- Ctrl-\ s : find the uses of a symbol
- Ctrl-[ Ctrl-[ s : vertical split find the uses of a symbol
- To update a cscope database without closing vim :!cscope -b, then :cs reset
more information
http://www.fsl.cs.sunysb.edu/~rick/cscope.html
Clewn
vim + gdb
What I also needed was the libncurses5 and libncurses5-dev packages.
4.1 Default mappings:
List of default key mappings:
CTRL-Z send an interrupt to GDB and the program it is running B info breakpoints L info locals A info args S step I stepi CTRL-N next: next source line, skipping all function calls X nexti F finish R run Q quit C continue W where CTRL-U up: go up one frame CTRL-D down: go down one frame
cursor position:
CTRL-B set a breakpoint on the line where the cursor is located CTRL-E clear all breakpoints on the line where the cursor is located
mouse pointer position:
CTRL-P print the value of the variable defined by the mouse pointer position CTRL-X print the value that is referenced by the address whose value is that of the variable defined by the mouse pointer position CTRL-K set a breakpoint at assembly address shown by mouse position CTRL-H clear a breakpoint at assembly address shown by mouse position CTRL-J add the selected variable at mouse position to the watched variables window
Note: You can tune Vim behavior when using netBeans keys with the mouse
pointer position, by setting Vim balloondelay to a smaller value than its
default. The following setting has been reported to give better results:
pointer position, by setting Vim balloondelay to a smaller value than its
default. The following setting has been reported to give better results:
:set balloondelay=100 ~
Note: After browsing your code, you can always return rapidly to the line of
code where GDB is currently stopped, by using CTRL-U and CTRL-D.
code where GDB is currently stopped, by using CTRL-U and CTRL-D.
- 윈도우 이동
- ctl + Wt 제일 위 윈도우에 이동
- ctl + Wb 제일 밑 윈도우에 이동
- ctl + Wp 현 윈도우에 이동하기 전의 윈도우에 이동
- ctl + Wr 전 윈도우를 아래방향으로 회전
- ctl + WR 전 윈도우를 윗방향으로 회전
- ctl + Wx 현 윈도우를 다음 윈도우로 교체
- :split 파일명 창을 분활해서 파일을 염
- :sview 파일명 창을 분활해서 파일을 염 - readonly
- [수]ctl - W+ 윈도우를 수만큰 크게
- [수]ctl - W- 윈도우를 수만큼 작게
- Ctl - W= 전 윈도우를 같은 크기로
Comments