오늘은 Vim에 대해서 공부를 했다. 개발을 하다 보면 Vim에서 코드를 편집해야 할 일이 많다는 것을 느꼈다. 하지만 나는 간단하게 입력, 저장을 하는 정도기 때문에 vim을 사용하는데 있어 너무 불편함을 느꼈다.
그래서 공부하는 목표는 Vim이 친숙해져서 마우스를 사용하지 않고 자유자재로 할 수 있게 되는 것과, 문서 편집 효율을 향상시키는 것이다.
Linux의 대표적인 편집기 vi와 호환되는 텍스트 편집기이다.
지금의 Linux가 나오기 전에 Unix라는 os가 있었다.
그리고 이 Unix때 부터 사용되던 텍스트 편집기인 vi가 있었다.
이 vi의 새로운 버전이 vim이다. vim은 기존의 vi와 기본적인 기능에 대해 동일하다.
Vim에는 4가지의 모드가 있는데 아래와 같이 구분할 수 있다.
사용자가 키보드를 통해서 타이핑하는 모든 내용을 하나의 명령으로 받아들이는 모드이다.
다른 모드에 있을 때 esc 누르면 명령 모드로 전환
Vim의 디폴트로 설정되어 있는 모드이며, 기준적인 모드이다. (다른 모드에 갈 땐 무조건 이 모드를 거친다.)
이 모드에서는 문자 하나도 명령으로 인식할 수 있다. 그래서 모드를 착각하고 문서를 작성하듯 타이핑을 하게 되면 엄청난 경고음을 받게 된다.
사용자가 입력한 문장이 특정 명령어가 되는 모드이다.
명령 모드에서 : 입력
사용자가 완성한 문장이 특정한 명령어가 된다. 리눅스에 다양한 기본 명령어들이 존재하는 것처럼 Vim에도 이런 기본 명령어들이 존재한다.
입력하는 모든 내용이 문서가 되는 모드, 단순히 타이핑해서 입력할 수 있는 모드이다.
명령 모드에서 i, a ... 입력
이 모드는 메모장에 적는 것과 비슷한 느낌이다. 입력하는 모든 것들이 문서의 구성 내용이 된다. 그래서 우리가 생각하는 어떤 문서의 내용을 수정하거나, 만들기 위해서는 이 모드를 사용해야 한다.
Insert 모드에 가기 위한 명령어 키
종류 | 기능 |
---|---|
i | 현재 커서의 앞에서 편집 시작 |
a | 현재 커서의 다음부터 편집 시작 |
A | 현재 라인의 맨 끝으로 커서를 이동하고 편집 시작 |
o | 현재 커서의 아래에 새로운 줄을 추가하고 편집 시작 |
O | 현재 커서의 위에 새로운 줄을 추가하고 편집 시작 |
s | 현재 위치의 문자를 지우고 편집 시작 |
S | 현재 위치의 라인을 지우고 편집 시작 |
문서를 구성하는 특정 부분의 내용을 선택할 때 사용하는 모드이다.
명령 모드에서 v or V 입력
이 모드는 평상시 잘 사용되지 않는다. vi에서는 특정 구간을 복붙할 때, 마우스를 이용하는 것이 불가능했다. 그래서 이후에 사용자들이 특정 구간을 선택한 것에 대해 시각적으로 확인할 수 있도록 해달라는 요청을 통해 만들어졌다.
각 모드에 대해 더 알게 됐다. 그중에서 원래 비주얼 모드에 대해서 몰랐는데 오늘 이 시간을 통해 어떻게 생겨난 모드인지와 사용법을 알게 됐다. 그리고 편집모드에 가기 위해 i만 있는 줄 알았는데 되게 많은 키가 있구나를 배워서 각 상황에 필요한 키를 눌를 수 있는 경지까지 도달하고 싶다.
단축키와 명령어들이 너무 많아서 이에 대한 내용은 내일 정리해서 올릴 예정이다.