기타/Vim
[Vim] VI/VIM 단축키 ,명령어 정리
by khsnote22
2022. 9. 6.
리눅스의 대표적인 에디터로 vi편집기 (또는 vim편집기)가 있다. 기능상 약간의 차이가 있을뿐 다르지 않으며 리눅스에서는 vi를 입력하든 vim을 입력하든 둘다 vim에디터를 실행시켜준다. 처음에는 단축키를 익혀야 하기 때문에 진입장벽이 높은 편인지만, 익숙해지기만 한다면 마우스로 하나하나 클릭하는것이 아닌 단축키만으로 모든 작업이 가능하기 때문에 더욱 더 빠르게 작업이 가능하다는 장점이 있다.
실행
명령어
동작
vi file
file 열기
vi file1 file2
file1과 file2를 순서대로 열기
view file / vi -R file
file을 읽기모드로 열기
vi + file
file을 열고 커서를 본문의 마지막 줄에 위치 시킴
vi +n file
file을 열어 n번째 줄에 위치 시킴
vi -r file
손상된 파일 회복
저장 및 종료
명령어
동작
:w
저장하기
:wq
저장 후 종료
:q
저장하지 않고 종료
:q!
변경된 내용을 저장하지 않고 강제로 종료
입력모드 전환
입력모드 전환
i
커서의 위치에서 입력모드로 전환
I
커서가 위치한 줄의 맨 앞에서 입력모드로 전환
a
커서가 위치한 다음 칸에서 입력모드로 전환
A
커서가 위치한 줄의 맨 마지막에서 입력모드로 전환
o
커서가 위치한 줄의 아래에 빈 줄 삽입
O
커서가 위치한 줄의 위에 빈 줄 삽입
R
수정모드로 전환
커서이동
명령어
동작
w
다음 단어의 끝 부분으로 커서 이동
e
다음 단어 앞 부분으로 커서 이동
b
이전 단어로 이동
^,0
줄의 처음으로 이동
$
줄의 마지막으로 이동
H
화면 맨 위로 이동
M
화면 중간으로 이동
L
화면 맨 아래로 이동
G
글의 맨 밑으로 이동
nG
n번째 줄로 이동
n%
n퍼센트에 해당하는 위치로 이동
[shift] + 위
한 페이지 앞으로 이동
[shift] + 아래
한 페이지 뒤로 이동
[Ctrl] + i
한 화면 위로 이동
[Ctrl] + b
한 화면 아래로 이동
[Ctrl] + d
반 화면 위로 이동
[Ctrl] + u
반 화면 아래로 이동
[Ctrl] + e
한 줄 위로 이동
[Ctrl] + y
한 줄 아래로 이동
복사 및 붙여넣기
명령어
동작
yy
현재 커서가 위치한 줄을 버퍼로 복사
p
버퍼에 복사되어있는 내용을 커서 뒤에 삽입
P
버퍼에 복사되어있는 내용을 커서 앞에 삽입 ( shift + P )
ny
현재 커서가 위치한 줄에서부터 아래로 n줄 복사
:n1,n2y
n1-n2번째줄을 버퍼로 복사
:npu
n행에 버퍼에 복사되어있는 내용을삽입
d
현재 커서가 위치해있는 단어 복사
npp
현재 커서에서 부터 n만큼의 행 복사
삭제
명령어
동작
x
현재 커서가 위치한 문자 삭제
dw
단어 삭제
dd
현재 커서가 위치한 줄 삭제
ndd
현재 커서에서 부터 n만큼의 줄 삭제
d + 위
현재 커서가 위치한 줄의 위로 2줄 삭제
d + 아래
현재 커서가 위치한 줄의 아래로 2줄 삭제
D
한줄 내에서 커서의 위치 뒤로 모두 삭제
u
바로 전에 수행한 명령 취소
문자열 찾기
명령어
동작
/name
name 문자열 찾기
n
다음 name으로 이동 ( 아래로 검색 )
N
이전 name으로 이동 ( 역방향, 위로 검색 )
문자열 대체
명령어
동작
:s/str/rep
현재 줄의 str을 rep로 대체
:l,.s/str/rep/
1부터 현재 줄의 str을 rep로 대체
:%s/str/rep/g
파일 전체 str을 rep로 전부 대체
:.$/aaa/bbb
커서의 위치로부터 파일의 끝까지 있는 모든 aa를 bbb로 대체
기타
명령어
동작
:set nu
줄 번호 보여주기
:set nonu
줄 번호 보여기 취소
.
바로 전에 실행한 명령어 재 실행
[Ctrl] + l
불필요한 화면 정리후 다시 표시