: 20vs ./

 파일 탐색 - 20 너비로 ./ 폴더의 탐색 창 열기

 { 또는 } 에서 % 입력

 괄호 이동

 단어에 커서두고 * 혹은 #

 문자열 찾기 (:/문자열  과 같음)

 {에 커서두고 v]}zf 명령
 혹은
 v 로 블록잡고 zf

 폴딩 기능 접기.

 펼치기 : 폴딩된 곳에서 -> 혹은 zo 

 .vimrc에 "map <F1> v]}zf"  등록하면 편리

 함수에 커서두고 [i

 함수 원형 출력 

 지역변수 커서 두고 gd

 지역변수 선언부로 이동 

 숫자>>
 또는
 <<숫자

 탭 삽입/삭제 

 v 로 블록잡고 =

 소스 정렬 

 gg=G 

 전체 소스 정렬

 :%s/^M//g ^M 문자 제거
 # vimdiff A B A, B 파일 diff

 헤더파일에 커서두고 ctrl+wf

 수평 분할창에 헤더 파일 열기

 .vimrc에 "set path=경로, .." 로 검색 폴더 지정

 일부타이핑 후 ctrl+p

 자동완성 (완성할 단어를 위로 검색) 

 일부타이핑 후 ctrl+n

 자동완성 (완성할 단어를 아래로 검색)
  
  
  






vim 편집 명령

{

# undo

u

# redo

CTRL + r


# 현재 열려있는 파일 목록 확인

:ls


# 세로 편집

CTRL + v

편집할만큼 커서 이동

SHIFT + i

문자 입력

ESC, ESC


}


vim 탭 명령어

{

#현재 커서의 파일을 탭으로 열어줌

CTRL + w, g, f


#탭 이동

[n]gt (n 번쨰 탭 이동. n이 없으면 다음탭으로 이동)


#탭 닫기

:[n]tabc (n 번째 탭 닫기)



}

vim 창분할 명령어

{


#현재 커서의 파일을 분할탕에 열어줌

CTRL + w, f


# 좌우 분리

: vsplit [파일명]

: [n]vs [파일명] (n 크기고 파일 열기)


# 상하 분리

: split [파일명]

: [n]sp [파일명] (n 크기고 파일 열기)


# 화면 위치 바꾸기

CTRL + w, r


# 창 너비 

CTRL + w, = (균등하게)

CTRL + w, | (현재 창 너비 최대)

CTRL + w, [n] > (현재창 너비 n 만큼 증가)

CTRL + w, [n] < (현재창 너비 n 만큼 감소)


# 창 높이 변경

z[n]

: resize n

: resize +n

: resize -n

CTRL + w, _ (현재 창 높이 최대)


# 창 커서 이동

CTRL + w, [h j k l] (방향에 따라 이동)

CTRL + w, w (다음 커서로 이동)

CTRL + w, W (이전 커서로 이동)


# 창 닫기

:q

:qa (모두 닫기)

CTRL + W, o (현재 화면빼고 모두 닫기)


# 파일 브라우징

:20vs ./


}















h, j, k, l - 좌,하,상,우 커서이동


i - 현재 커서 위치에 Insert 하기

I - 현재 줄 맨앞에 Insert 하기

a - 현재 커서 다음칸에 Insert 하기

A - 현재 줄 맨뒤에 Insert 하기

O - 윗줄에 Insert 하기

o - 아랫줄에 Insert 하기


w - 단어 첫글자로 이동하기

W - 화이트스페이스 단위로 다음 글자로 이동하기

b - 백워드 방향으로 단어의 첫글자로 이동하기

B- 백워드 방향으로 화이트스페이스 단위로 다음 글자로 이동하기

e - 단어의 마지막 글자로 이동하기

ge - 백워드 방향으로 단어의 마지막 글자로 이동하기

gg - 문서 맨 앞으로 이동

G - 문서 맨끝으로 이동

^ - 문장 맨 앞으로 이동

0 - 라인 맨 앞으로 이동

$ - 문장 맨 뒤로 이동

f문자 - 문자의 위치로 이동 ; 를 누르면 계속 이동

F문자 - 백워드로 문자의 위치로 이동

t문자 - 문자의 앞위치로 이동 

T문자 - 백워드방향으로 문자의 앞위치로 이동


/단어 - 문서에서 단어 찾기 n이나 N으로 다음/이전 찾기

* - 현재 단어를 포워드 방향으로 찾기

# - 현재 단어를 백워드 방향으로 찾기


Ctrl + f - 다음 페이지 이동

Ctrl + b - 이전 페이지 이동

Ctrl + u - 페이지절반만큼 다음으로 이동

Ctrl + d - 페이지절반만큼 이전으로 이동

H - 현재 화면의 맨 위라인으로 이동

M - 현재 화면의 중간 라인으로 이동

L - 현재 화면의 마지막 라인으로 이동


]] - 포워드 방향으로 여는 컬리 블레이스( { )로 이동

[[ - 백워드 방향으로 여는 컬리 블레이스( { )로 이동

][ - 포워드 방향으로 닫는 컬리 블레이스( { )로 이동

[] - 백워드 방향으로 닫는 컬리 블레이스( { )로 이동

% - {}나 ()에서 현재 괄호의 짝으로 이동


dd - 현재 줄 잘라내기

dw - 단어 잘라내기

yy - 현재 줄 복사하기

p - 붙혀넣기

r - 현재 글자 교체하기

u - Undo

Ctrl + R : Redo

x - 현재 글자 지우기

X - 앞의 글자 지우기

> - 들여쓰기

< - 내어쓰기

. - 이전 명령어를 다시 실행


v - 비쥬얼모드(비쥬얼 모드에서 커서 이동해서 블럭지정 가능)

y - 복사하기

c - 잘라내기

cw - 단어 잘라내기

J - 다음 라인을 현재 줄의 끝으로 이어 붙힘

~ : 선택 문자 대소문자 변경

Ctrl + A : 숫자를 증가시키기

Ctrl + X : 숫자를 감소시키기


:w - 문서 저장하기

:q - 현재 문서 닫기

:q! - 저장하지 않고 닫기

:wq - 저장하고 닫기

:숫자 - 지정한 라인넘버로 이동


:new - 가로로 분할된 창 열기

:vs - 세로로 분할된 창 열기

Ctrl + w - 분할창 간에 이동하기

:tabnew - 새로운 탭 열기

:gt - 다음 탭으로 이동하기

:gT - 이전 탭으로 이동하기

:e ./ - 현재 탭에 오픈할 파일 탐색하기( ./ 는 현재위치에서 탐색 시작)

:colorscheme 스키마명 - VIM의 칼라스키마를 변경함(blue, desert, evening 등.. 스키마명에서 탭누르면 자동완성됨)


zc - 코드 접기(fold)

zo - 접힌 코드 펼치기

zd - fold 지우기

zR - 접힌 코드 모두 펼치기

zM - 코드 모두 접기

zD - 모든 fold 지우기


:buffers - 현재 Vim에서 여러 파일을 열었을때 버퍼에 있는 목록 확인 (ls 와 동일)

:buffer 숫자 - 버퍼 목록에 나온 숫자를 입력하면 해당 파일을 오픈함 ( :buffer 대신 :b 도 가능)

:bnext - 버퍼에 있는 다음 파일로 이동 ( :bn 도 가능)

:bprevious - 버퍼에 있는 이전 파일로 이동 ( :bp 도 가능)

:ball - 버퍼 목록에 있는 파일들이 가로로 분할된 창에 열림