Monday, January 09, 2006

vim tip

자질구레한 tip
K manpage보기
G 파일의 마지막줄로 커서이동
^6 or :e# 열어봤던 이전파일 열기
zf fold - 한줄로 접기 ex) :23,29zf
zo fold - 펴기
^p or ^n 변수명, 함수명 자동완성
<<>> tab 밖으로 밀기
{ 한 단락 위로 이동
} 한 단락 아래로 이동
[i 함수의 프로토타입보기
한 vi 안에 여러개로 창 나누어(split) 작업하기
:vs <파일명> 세로로 창 나누어 파일열기
:sp <파일명> 가로로 창 나누어 파일열기
:20vs ./ 왼쪽에 파일 탐색기 열기 <탐색기에 대한 도움말 = ?>
O 탐색기 파일 열기
^wn 새로운 창 나누기
^wo 현재 커서가 있는 창을 전체창으로..(여러개 창으로 나뉘어 있을때)
^ww 시계방향으로 창 사이를 이동
^w<방향키> 두개의 창 사이를 방향키의 방향으로 이동
^w+ 창 크게
^w- 창 작게
z<숫자> 창 높이설정
^w= 열려있는 창들의 크기를 모두 같게
^wc or ^w_ 현재창 닫기
:help split 창 나누기에 대한 도움말
열려있는 파일보기
명령) :marks
설명) 원래는 a-z,A-Z,0-9까지의 마크를 각각의 문서에 대해 할수 있는기능
그냥 marks라고 하면 기본적으로 vim이 저장하는 최근 10개 문서(0-9마크)를 보여줌
이동은 `0 또는 `3
명령) :args
설명) 명령행 인자로 여러개의 파일을 열었을 경우, 이들을 보여주고, 문서간 이동시 편리(:N , :n)
명령) :ls
설명) 현재 열려있는 버퍼들을 확인
편집중에 다른 화일들을 여러개 연경우, 이미 열린화일을 찾기 쉽게 함.
이동은 :b1 또는 :b3 등으로.

3.6. 빠른 괄호 이동
C나 C++ 을 사용하다보면 제어문이나 함수에서 많은 괄호('{','(')를 만나게 된다. 이때 괄호의 제일 마지막으로 이동하고 싶을때가 있을것이다. 이럴때는 ']}' 를 사용하면 된다. '[{' 를 사용하면 괄호의 처음으로 이동한다.
3.7. 위치 마크(mark)하기
일종의 북마크기능으로 자주참조할만한 라인을 마킹해두고 필요할때 간단히 해당 마킹지역으로 이동하기 위해서 사용한다. 마킹을 위해서는 명령모드에서 m키를 눌러서 마킹모드로 들어가면 된다. 그리고 영문 [a-zA-Z]키중 아무거나 눌러주면 된다. 만약 a를 눌러주었다면, 현재라인은 a이름으로 마킹된다. 이후 작업을하다가 a마킹라인으로 가고 싶다면 'a 해주면된다. 이상태에서 원래라이으로 되돌아가고 싶다면 ''를 눌려주면 된다.
물론 다중마킹도 허용한다. 마킹할수 있는 문자는 단일영문자이다. 마킹에 사용되는 영문자는 대소문자를 구분함으로 최대마킹가능한 수는 27*2가 될것이다.

Shift+d, d$
현재커서 위치에서 마지막까지 삭제
Shift+j
현재 행의 개행문자를 제거한다. 즉 아래라인을 현재라인에 덧붙인다.

치환
:/pattern/replace/ 현재 줄의 치환
:lines/pattern/replace/ 지정한 줄의 치환
:line,lines/pattern/replace/ 지정한 범위의 치환
:%s/pattern/replace 모든 줄의 치환
위의 팁들을 이용하여 현재 재연이의 .vimrc에 키매핑한 것들..
map K 도움말 보기
map :25vs ./:set nonu 탐색기 열기
map O^Ww 탐색기 안에서 파일 열기
map ^6 이전에 열었던 파일 열기
map v%zf 폴딩 - 함수 접기(함수의 { 위치에서 F5를 눌러야 함)
map zo 폴딩한 것 다시 풀기
map :marks 최근에 열었던 파일 보기
map [i 함수 프로토타입보기
map :set nonu 줄번호 없애기
map :set nu 줄번호 보기

2 Comments:

At Sat Jan 14, 10:41:00 PM, Anonymous Anonymous said...

반복되는 문자열 저장해서 쓰기

"a3yy
a 레지스터에 3행을 복사해서 저장해라.

"ap

a레지스터 내용을 붙여 넣어라.

다중창 사용하기

ctrl + w n : 새창 분할
ctrl + w s : 수평 분할
ctrl + w v : 수직 분할

ctrl + w i : 커서 위치의 단어가 정의된 파일을 오픈

``: 바로 전에 커서가 위치하던 행의 처음

 
At Sun Jan 15, 12:02:00 AM, Anonymous Anonymous said...

ctag

:tj start_kernel (tag jump)
:sts start_kernel (분할해서 연다.)

 

Post a Comment

<< Home