$ sudo apt -y install vim
$ vim hello.txt
: 파일이 없는 경우 생성(저장되지는 않음)$ find . '*.txt' | vim -
: - 일 시 stdin을 받음명령어 | 설명 |
---|---|
a | 커서 한 칸 뒤에서 Insert 모드로 전환 |
A | 행 끝에서 Insert 모드로 전환 |
i | 커서 위치에서 Insert 모드로 전환 |
I | 행 앞에서 Insert 모드로 전환 |
o | 현재 행 밑에 새로운 행을 추가 후 Insert 모드로 전환 |
O | 현재 행 위에 새로운 행을 추가 후 Insert 모드로 전환 |
R | 글자가 덮어써지는 Replace 모드로 전환 |
: | Command 모드로 전환 |
v / V / Ctrl-V | Visual mode 시작 |
명령어 | 설명 |
---|---|
h / ← | 커서 왼쪽 이동 |
j / ↓ | 커서 아래 이동 |
k / ↑ | 커서 위로 이동 |
l / → | 커서 우측 이동 |
0 | 행 맨 앞으로 커서 이동 |
^ | 행 맨 앞 문자열로 커서 이동 |
$ | 행 맨 끝으로 커서 이동 |
[#]gg | #번째 행으로 이동. #이 없으면 첫 행으로 이동 |
[#]G | #번째 행으로 이동. #이 없으면 끝 행으로 이동 |
Ctrl-B / PgUp | 한 페이지 위로 이동 |
Ctrl-F / PgDn | 한 페이지 밑으로 이동 |
Ctrl-U | 반 페이지 위로 이동 |
Ctrl-D | 반 페이지 밑으로 이동 |
w / e / b | 단어 단위로 이동 |
W / E / B | 단어 의미 단위로 이동 |
( / ) | 문단 단위로 이동 |
[[ / ]] | 블록 단위로 이동 |
명령어 | 설명 |
---|---|
x | 커서 문자 삭제 (Delete키와 동일) |
dd | 행 삭제 |
D | 커서부터 행 끝까지 삭제 |
yy / Y | 현재 행 복사 |
p | 현재 커서 뒤에 붙임, 행을 붙이는 경우 현재 행 밑에 붙임 |
P | 현재 커서 앞에 붙임, 행을 붙이는 경우 현재 행 위에 붙임 |
J | 아래 행을 현재 행 끝에 붙임 |
u | Undo |
Ctrl-R | Redo |
. | 이전 명령/입력 반복 |
명령어 | 설명 |
---|---|
fc | 오른쪽으로 c를 검색 |
Fc | 왼쪽으로 c를 검색 |
; | 최근 검색 재실행 |
, | 최근 검색을 반대 방향으로 재검색 |
명령어 | 설명 |
---|---|
/expression | expression을 전방 탐색 |
?expression | expression을 후방 탐색 |
* | 현재 커서에 있는 단어를 전방 탐색 |
# | 현재 커서에 있는 단어를 후방 탐색 |
n | 다음 탐색 |
N | 이전 탐색 |
명령어 | 설명 |
---|---|
ZZ | up+quit : 변경사항 있을시 저장 / 종료 |
Ctrl-G | 현재 문서 위치 정보를 밑에 표시 |
~ | 대소문자 스위치 |
% | 괄호 짝 찾기 |
Ctrl-A | 숫자 1증가 |
Ctrl-X | 숫자 1감소 |
명령어 | 설명 |
---|---|
v | 현재 커서 위치에서 블럭 지정 |
V | 현재 행부터 블럭 지정 |
Ctrl-V | column 단위 블럭 지정 |
gv | 이전 하이라이트 |
o | 시작점/끝점 바꾸기 |
명령어 | 설명 |
---|---|
I | 모든 행에 앞에 문자열 삽입 |
A | 모든 행 앞에 문자열 삽입 |
c | 문자열 치환 |
d | 블럭 삭제 |
y | 블럭 복사 |
Esc x 2 | 편집 종료 |
!
가 있으면 warning 무시하고 한다는 뜻명령어 | 설명 |
---|---|
:num | num 행으로 이동 |
:d | 행 삭제 |
:y | 현재 행 복사 |
:pu | 현재 커서에 붙임 |
:file | 현재 문서 위치 정보를 밑에 표시 |
명령어 | 설명 |
---|---|
:w | 현재파일에 저장 |
:w [filename] | filename으로 사본 저장 뒤 filename으로 편집 |
:sav filename | filename으로 저장, 편집은 원본 파일에 그대로 |
:up | 변경 사항 있을시만 저장 |
:q | 종료 |
:x | up+q |
:a | 모든 파일에 대하여, 다른 명령어랑 같이 씀 |
명령어 | 설명 |
---|---|
:20d | 20번째 행 삭제 |
:10,25d | 10~25번째 행 삭제 |
:10,$d | 10행에서 마지막 행까지 삭제 |
:%d | 전체 행 삭제 |
:.,+20d | 현재 행부터 20행 삭제 |
:-10,+5d | 현재 행 위로 10행부터 밑으로 5행 삭제 |
:[range]s/<찾는 문자열>/<교체할 문자열>/<옵션>
옵션 | 설명 |
---|---|
g | 검색된 모든 문자열을 교체(옵션 없을시 처음 1개만 교체) |
i | 검색시 대소문자 무시 |
c | 매 교체마다 y/n 묻기 |
e | 교체 과정 중 에러 무시 |
옵션 | 설명 |
---|---|
:center # | 너비가 #인 가운데 정렬 (기본값 80) |
:left # | # 이후 왼쪽 정렬 |
:right # | 너비가 #인 오른쪽 정렬 (기본값 80) |
명령어 | 설명 |
---|---|
:set | 현재 옵션 보기 |
:set all | 모든 옵션 보기 |
:set [no]option | 옵션 on/off |
:set option! | 옵션 on/off toggle |
:set option=value | 옵션 값 지정 |
명령어 | 설명 |
---|---|
nu | 행 번호 표시 |
rnu | 현재 행을 기준으로 행 번호 표시 |
ai | 자동 들여쓰기 |
cindent | C언어 스타일 들여쓰기 |
ts=value | 탭 너비 |
sw=value | 블록 이동 너비 |
hls | 검색시 하이라이트 기능 |
fencs=value | 지원할 파일 인코딩 리스트( ,로 space없이 구분) |
fenc=value | 현재 파일 인코딩 방식 |
명령어 | 설명 |
---|---|
:help x | Normal mode에서 x에 대한 도움말 |
:i_CTRL-N | Insert mode에서 Ctrl-N에 대한 도움말 |
:help :w | Command mode에서 :w에 대한 도움말 |
:help v_u | Visual mode에서 u에 대한 도움말 |
:help -r | vim command시 옵션 -r에 대한 도움말 |
:help 'tabstop' | option tabstop 에 대한 도움말 |
명령어 | 설명 |
---|---|
Ctrl-] | 하이퍼링크로 이동 |
Ctrl-T | 하이퍼링크 복귀 |
:tags | 이동한 하이퍼링크 목록 |