리눅스를 사용하면서 vi/vim 편집기를 사용하는 일이 많은데, vi/vim의 명령어를 종종 잊어버리는 경우가 있어서 정리해 보았다.
:q : 그대로 종료(단, 변경한 내역이 없어야 한다.)
:q! : 변경 내용이 있어도 저장하지 않고 강제 종료
:wq, :x, ZZ : 변경 내용을 저장 후 종료
a : 커서 뒤에 입력
A : 라인 끝에 입력
i : 커서 앞에 입력
I : 라인 시작 부분에 입력
o : 커서 있는 라인 밑에 출력
O : 커서가 있는 라인 위에 입력
h : 왼쪽으로 커서 한칸 이동
H : 화면의 처음으로 이동
l : 오른쪽으로 한칸 이동
L : 화면 끝으로 이동
e : 다음 단어의 마지막으로 이동
E : 커서를 공백으로 구분된 다음 단어 끝으로 이동
b : 한 단어 뒤로 이동
B : 커서를 공백으로 구분된 이전 단어로 이동
w : 커서를 한 단어 뒤로 이동
W : 커서를 공백으로 구분된 다음 단어로 이동
k : 커서를 한 라인 뒤로 이동
j : 커서를 한 라인 아래로 이동
0 : 커서를 라인의 시작으로 이동
$ : 커서를 라인의 끝으로 이동
enter : 커서를 다음 라인 시작으로 이동
- : 커서를 전 라인의 시작으로 이동
ctrl + F : 다음 화면으로 이동
ctrl + D : 화면의 반만 앞으로 이동
ctrl + B : 전 화면으로 이동
ctrl + U : 화면의 반만 뒤로 이동
G : 커서를 텍스트의 마지막 라인으로 이동
숫자G : 커서를 숫자 라인만큼 이동
M : 커서를 화면 중간 라인으로 이동
" : 커서를 전 위치로 이동
( : 문장의 시작으로 이동
{ : 문단의 시작 위치로 이동
) : 문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동
} : 문단 끝으로 이동
x : 커서가 있는 문자 삭제
X : 커서가 있는 문자 앞의 문자 삭제
dw : 커서가 있는 단어 삭제
db : 커서 앞에 있는 단어 삭제
dW : 공백으로 구분된 뒷 단어 삭제
dB : 공백으로 구분된 앞 단어 삭제
dd : 커서가 있는 라인 삭제
D : 커서가 있는 라인의 나머지 삭제
d) : 문장의 나머지 삭제
d} : 문단의 나머지 삭제
dG : 파일의 나머지 삭제
dH : 화면의 시작까지 삭제
dL : 화면의 나머지 삭제
J : 커서와 다음 단어의 공백을 모두 삭제
yw : 커서가 있는 단어를 복사
yb : 커서가 있는 앞 단어를 복사
yW : 공백으로 구분된 뒷 단어 복사
yB : 공백으로 구분된 앞 단어를 복사
y : 특정한 다음 텍스트 복사
yL : 화면의 나머지 복사
yy : 커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동
y) : 문자의 나머지 복사
y} : 문단의 나머지 복사
yG : 파일의 나머지 복사
yH : 화면 시작까지 복사
r : 커서에 있는 문자 대치
R : 입력 모드로 한 문자씩 덮어씀
s : 커서가 있는 문자 삭제 후 입력 모드로 전환
S : 커서가 있는 줄을 삭제한 후 입력 모드로 전환
cb : 커서가 있는 앞 문자 삭제 후 입력 모드
cW : 공백으로 구분된 뒷 단어를 삭제한 후에 입력 모드
cB : 공백으로 구분된 앞 단어 삭제 후 입력 모드
cc : 커서가 있는 라인을 삭제하고 입력 모드
C : 커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환
c0 : 커서에서부터 라인의 시작까지 텍스트 바꾸기
c : 특정 테스트 바꾸기
c) : 문장의 나머지 바꾸기
c} : 문단의 나머지 바꾸기
cG : 파일의 나머지 바꾸기
cm : 표시까지 모든 것 바꾸기
cL : 화면의 나머지 바꾸기
cH : 화면의 시작까지 바꾸기
/pattern : 텍스트에서 앞으로 패턴 검색
>pattern : 텍스트에서 뒤로 패턴 검색
n : 앞 또는 뒤로 이전 검색 반복
N : 반대 방향으로 이전 검색 반복
dW : 공백으로 구분된 뒷 단어 삭제
dB : 공백으로 구분된 앞 단어 삭제
/ : 전 검색을 앞으로 반복
? : 전 검색을 뒤로 반복
dd : 커서가 있는 라인 삭제
D : 커서가 있는 라인의 나머지 삭제
d) : 문장의 나머지 삭제
d} : 문단의 나머지 삭제
dG : 파일의 나머지 삭제
dH : 화면의 시작까지 삭제
dL : 화면의 나머지 삭제
J : 커서와 다음 단어의 공백을 모두 삭제