Linux_Ubuntu

[Linux] vi, Vim의 차이 및 자주 쓰이는 단축키

15호의 개발자 2021. 12. 14. 11:32
반응형

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

- 창 분할해서 비교

- 수평분할과 수직분할 모두 가능하다

 

 

 

 

(출처: 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』)

반응형