vi과 Vim의 차이
vi와 Vim은 리눅스 에디터이다. vi는 visual editor의 약자이고, Vim은 Vi Improved(향상된 vi)의 약자이다. 향상된 vi라는 말에서부터 알 수 있듯이 Vim이 vi보다 더 편하다. 그렇기 때문에 대부분의 리눅스에서는 vi를 호출해도 Vim이 실행되도록 내부적으로 alias 설정을 해두었다. 실제로 Vim을 vim으로 호출하기보다 vi으로 호출하는 사용자가 더 많다.
vi와 Vim의 가장 큰 차이점은, Vim은 에디터에서 화살표 방향키로 커서의 이동이 되지만 vi는 이 방법으로는 커서의 이동이 되지 않는다는 것이다. 순수하게 vi만 설치되어 있다면 화살표 방향키가 아닌 h, j, k ,l로 커서를 이동할 수 있다.
vi(Vim) 자주 쓰이는 단축키
"vi 단축키", 또는 "vim 단축키"라고 구글에 이미지로 검색하면 키보드 자판과 함께 단축키를 보기 편하게 알려준다. vi/vim 에디터를 자주 사용한다면 이를 출력해 놓고 옆에 붙여두어 사용하면 좋을 것이다.
vi의 단축키는 대/소문자를 구분하므로 주의하여야 한다.
- 종료
:q
- 그대로 종료 (quit)
:q!
- 변경된 내용을 저장하지 않고 강제 종료
:wq
- 변경된 내용을 저장하고 종료 (write, quit)
- 입력 모드로 전환 (insert)
i
- 커서 앞에 입력
I
- 해당 줄의 맨 앞에 입력
a
- 커서 뒤에 입력
A
- 해당 줄의 맨 뒤에 입력
o
- 아랫줄에 입력
O
- 윗줄에 입력
r
- 커서가 있는 글자를 바꾸면서 입력
- 삭제
x
- 커서가 있는 문자 삭제
X
- 커서 앞 문자 삭제
dw
- 커서가 있는 단어 삭제
dd
- 한 줄 삭제
- 복사/붙여넣기
yw
- 커서가 있는 단어 복사
yy
- 한 줄 복사
p
- (커서 뒤에) 붙여넣기
P
- 커서 앞에 붙여넣기
<응용>
두 줄 삭제/복사/붙여넣기: 2 dd, 2 yy, 2 p
n 줄 삭제/복사/붙여넣기: n dd, n yy, n p
- line number 부여/해제
: set nu (또는 set number)
- line number 부여
: set nu!
- line number 해제
- 검색
/ → 검색할 문자 → n: 다음 문자로, Shift + n: 이전 문자로
- Ctrl + F와 같은 기능
- 정규표현식으로 검색 가능
- 기타
u
- undo (Ctrl + Z 기능)
Shift + g
- 제일 아래로
gg
- 제일 위로
Shift + v → z + f: folding 기능, z + o: folding 해제
- Shift + v: 블록 지정
- 파일이 너무 길어서 한 눈에 안 들어오는 경우, folding 기능을 이용해서 지정한 블록을 접어둘 수 있다.
: 100
- 100번 라인으로 이동 (몇 번 라인으로 이동할지를 적으면 된다)
vimdiff aaa.txt bbb.txt
- 창 분할해서 비교
- 수평분할과 수직분할 모두 가능하다
(출처: 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』)
'Linux_Ubuntu' 카테고리의 다른 글
[Linux] 리눅스에서 쉘스크립트(.sh)로 Java 프로젝트 실행하는 방법 (0) | 2021.12.17 |
---|---|
[에러해결] Linux에서 javac 컴파일 에러 (오타 없는 경우) (0) | 2021.12.17 |
[에러해결] Linux에서 Java 실행 시 NoClassDefFoundError (0) | 2021.12.16 |
[Linux] 우분투 터미널로 Java 설치 (환경변수 설정 /etc/profile, ~/.bashrc) (0) | 2021.12.16 |
[기초] Ubuntu는 뭐고 Linux, UNIX는 무엇인가? (+GNU, GNOME) (0) | 2021.11.28 |