[TIL] Vim과 친해지기

so_doit·2022년 2월 19일
0

TIL

목록 보기
2/26

오늘은 Vim에 대해서 공부를 했다. 개발을 하다 보면 Vim에서 코드를 편집해야 할 일이 많다는 것을 느꼈다. 하지만 나는 간단하게 입력, 저장을 하는 정도기 때문에 vim을 사용하는데 있어 너무 불편함을 느꼈다.

그래서 공부하는 목표는 Vim이 친숙해져서 마우스를 사용하지 않고 자유자재로 할 수 있게 되는 것과, 문서 편집 효율을 향상시키는 것이다.

Vim

Linux의 대표적인 편집기 vi와 호환되는 텍스트 편집기이다.

지금의 Linux가 나오기 전에 Unix라는 os가 있었다.
그리고 이 Unix때 부터 사용되던 텍스트 편집기인 vi가 있었다.
이 vi의 새로운 버전이 vim이다. vim은 기존의 vi와 기본적인 기능에 대해 동일하다.

Vim의 4가지 모드

Vim에는 4가지의 모드가 있는데 아래와 같이 구분할 수 있다.

  1. 일반 모드(Normal) or 명령 모드(Command)
  2. 명령줄 모드(Command Line)
  3. 편집/입력 모드(Insert)
  4. 비주얼/선택 모드(Visual)

일반 모드(Normal) or 명령 모드(Command)

사용자가 키보드를 통해서 타이핑하는 모든 내용을 하나의 명령으로 받아들이는 모드이다.
다른 모드에 있을 때 esc 누르면 명령 모드로 전환

Vim의 디폴트로 설정되어 있는 모드이며, 기준적인 모드이다. (다른 모드에 갈 땐 무조건 이 모드를 거친다.)
이 모드에서는 문자 하나도 명령으로 인식할 수 있다. 그래서 모드를 착각하고 문서를 작성하듯 타이핑을 하게 되면 엄청난 경고음을 받게 된다.

명령줄 모드(Command Line)

사용자가 입력한 문장이 특정 명령어가 되는 모드이다.
명령 모드에서 : 입력

사용자가 완성한 문장이 특정한 명령어가 된다. 리눅스에 다양한 기본 명령어들이 존재하는 것처럼 Vim에도 이런 기본 명령어들이 존재한다.

편집/입력 모드(Insert)

입력하는 모든 내용이 문서가 되는 모드, 단순히 타이핑해서 입력할 수 있는 모드이다.
명령 모드에서 i, a ... 입력

이 모드는 메모장에 적는 것과 비슷한 느낌이다. 입력하는 모든 것들이 문서의 구성 내용이 된다. 그래서 우리가 생각하는 어떤 문서의 내용을 수정하거나, 만들기 위해서는 이 모드를 사용해야 한다.

Insert 모드에 가기 위한 명령어 키

종류기능
i현재 커서의 앞에서 편집 시작
a현재 커서의 다음부터 편집 시작
A현재 라인의 맨 끝으로 커서를 이동하고 편집 시작
o현재 커서의 아래에 새로운 줄을 추가하고 편집 시작
O현재 커서의 위에 새로운 줄을 추가하고 편집 시작
s현재 위치의 문자를 지우고 편집 시작
S현재 위치의 라인을 지우고 편집 시작

비주얼/선택 모드(Visual)

문서를 구성하는 특정 부분의 내용을 선택할 때 사용하는 모드이다.
명령 모드에서 v or V 입력

이 모드는 평상시 잘 사용되지 않는다. vi에서는 특정 구간을 복붙할 때, 마우스를 이용하는 것이 불가능했다. 그래서 이후에 사용자들이 특정 구간을 선택한 것에 대해 시각적으로 확인할 수 있도록 해달라는 요청을 통해 만들어졌다.


회고

각 모드에 대해 더 알게 됐다. 그중에서 원래 비주얼 모드에 대해서 몰랐는데 오늘 이 시간을 통해 어떻게 생겨난 모드인지와 사용법을 알게 됐다. 그리고 편집모드에 가기 위해 i만 있는 줄 알았는데 되게 많은 키가 있구나를 배워서 각 상황에 필요한 키를 눌를 수 있는 경지까지 도달하고 싶다.

단축키와 명령어들이 너무 많아서 이에 대한 내용은 내일 정리해서 올릴 예정이다.

profile
백엔드 개발자

0개의 댓글