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에서 여러 파일을 열었을때 버퍼에 있는 목록 확인
:buffer 숫자 - 버퍼 목록에 나온 숫자를 입력하면 해당 파일을 오픈함 ( :buffer 대신 :b 도 가능)
:bnext - 버퍼에 있는 다음 파일로 이동 ( :bn 도 가능)
:bprevious - 버퍼에 있는 이전 파일로 이동 ( :bp 도 가능)
:ball - 버퍼 목록에 있는 파일들이 가로로 분할된 창에 열림
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에서 여러 파일을 열었을때 버퍼에 있는 목록 확인
:buffer 숫자 - 버퍼 목록에 나온 숫자를 입력하면 해당 파일을 오픈함 ( :buffer 대신 :b 도 가능)
:bnext - 버퍼에 있는 다음 파일로 이동 ( :bn 도 가능)
:bprevious - 버퍼에 있는 이전 파일로 이동 ( :bp 도 가능)
:ball - 버퍼 목록에 있는 파일들이 가로로 분할된 창에 열림
단축키가 너무 방대에서 일단 쓰는것 위주로만 정리해 봅니다. 더 자세한 내용은 Vim Documentation을 참고하세요. 처음에는 많이 힘들었는데 IDE의 도움을 많이 받지 못하는 개발을 할때는 VIM을 쓸때도 아주 많이 부족하지 않아서 슬슬 사용할만한 정도는 되더군요.(아직도 화살표키로 손이 자꾸 가기는 하지만요 ㅎㅎㅎ)
Last Modified : 2011. 5. 7
그러고보면 마우스조차 없던 시절이 있었는데, 그 시절엔 프로그래밍 어떻게 했나 몰라요 ㅎㅎ
게다가 방향키도 따로 없고 텐키랑 같이 있던 88키 키보드 시절 ㅎㅎ
타공 테잎시정도 있었는데요.. ㅎㅎㅎㅎㅎ
VI도 어찌 보면 그시절의 산물이라고 할수 있지 않나요? ㅎㅎㅎ 키보드만으로 모든걸 해버리는..
저도 어서 VI에 익숙해져야 할텐데 ㅜㅜ
상당히 어렵더라구요 ㅋㅋㅋ;;
저는 좀 새로운거 할때 위주로 연습해 보고 있습니다. 너무 익숙한 환경은 더 불편하게 느껴져서요.. ㅎㅎㅎ 개발환경이 좋지 못하거나 잘 모르겠는것들은 그냥 vi해볼려고 하니까 좀 낫더라구요 ㅎㅎ
아웃사이더님의 해당 글을 제 티스토리 블로그에 정리했는데
좋은 자료 감사합니다. 출처는 명시해두었습니다.
이 글을 즐겨찾기 해놓고 매번 감사하게 잘 참고해서 보고 있습니다.
아무 생각없이 오늘도 기억이 안나는 단축키를 보려다가 좀 이상해 보이는게 눈에 들어와서요~
"o - 윗줄에 Insert 하기
O - 아랫줄에 Insert 하기"
혹시 "o"와 "O"의 내용이 바뀐게 아닐까 싶습니다.
앗 그러네요. 수정하겠습니다.
o - 윗줄에 Insert 하기
O - 아랫줄에 Insert 하기"
3달이 지났는데요, 아직도 수정이 안되었네요! 수정해주세요.
매번 검색할때마다 이거...
저번에 수정해서 전 수정된걸로 나오는데 여전히 잘못된 내용으로 나오시나요?
Ctrl + f - 다음 페이지 이동
Ctrl + b - 이전 페이지 이동
Ctrl + u - 페이지절반만큼 다음으로 이동(오류) -> 절반만큼 이전으로 이동
Ctrl + d - 페이지절반만큼 이전으로 이동(오류) -> 절반만큼 다음으로 이동
vim 사용하면서 자주 참고하게 되네요. 좋은 자료 고맙습니다~