[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/시스템프로그래밍

Vim 튜토리얼

inu 2020. 11. 20. 13:22
반응형

Vim이란?

  • 유닉스 계열 운영체제의 CLI 환경에서 사용하는 대표적인 텍스트 에디터
  • 마우스없이 키보드로만 사용해야한다.
  • UNIX에서는 이러한 Vim을 다룰줄 모르면, 기초적인 텍스트파일도 작성할 수 없다.
  • vi improve의 줄임말이다.
  • vim command를 입력해 사용한다.

Vim의 4가지 모드

  • 사용자가 같은 키를 눌러도, 모드가 무엇인지에 따라 다른 기능이 작동된다.
  • 일반 모드, 입력 모드, 비주얼 모드, 명령 모드, 총 4가지가 존재한다.
  • 일반 모드가 모든 모드로 이동할 수 있는 기본 모드이다. 일반 모드를 거치지 않고서는 다른 모드로 변경할 수 없다.
  • 다른 모드에서 일반모드로는 ESC키를 통해 변경한다.
  모드 변경 기능
일반 모드 (Normal Mode) ESC 커서이동, 텍스트 붙여넣기, 텍스트 삭제, 작업 취소
입력 모드 (Insert Mode) a, i, o, A, I, O 텍스트 입력
비주얼 모드 (Visual Mode)  v, V 텍스트 블록 지정, 텍스트 복사
명령 모드 (Command Mode)  :, / 내용 저장, vim 종료, 특정 텍스트 검색 및 치환

입력 모드

  • i(insert)를 입력해 입력 모드로 전환할 수 있다.
  • 아래에 -- INSERT -- 라는 문자가 생기면서 모드가 전환된다.
  • 문자를 입력할 수 있는 모드이다.

  • a(append)를 입력하면 커서를 한 칸 뒤로 옮기고 입력 모드로 전환된다.
  • I(Insert)를 입력하면 커서가 현라인의 제일 첫번째 칸으로 이동되고 입력 모드로 전환된다.
  • A(Append)를 입력하면 커서가 현라인의 제일 마지막 칸으로 이동되고 입력 모드로 전환된다.
  • o(open)를 입력하면 커서가 다음 줄로 이동되고 입력 모드로 전환된다.
  • O(Open)를 입력하면 커서 위에 빈 줄이 생기고 해당 줄로 이동 후 입력 모드로 전환된다.

명령 모드

  • /(슬래시)를 입력하면 탐색 명령모드로 전환된다 찾으려는 단어를 입력하면 해당 단어를 vim 내부에서 찾아 커서를 이동시켜준다. n을 누르면 다음 단어로 이동하고, N을 누르면 이전 단어로 이동한다.
  • :(콜론)을 입력해 명령 모드로 전환할 수 있다.

  • 다양한 명령어를 입력해 파일 저장, 종료 등을 처리할 수 있다.
  • w(write) : 파일 저장 (w [저장파일명])
  • q(quit) : 종료
  • wq : 저장 후 종료
  • ! : 경고메세지 무시 (ex. q! -> vim 강제종료)
  • s(subtitute) : 텍스트를 치환할 수 있다. 기본적으로 제일 앞의 하나의 단어만 치환되지만, %를 제일앞에 붙이면 모든 단어가 치환된다. (단, 각 줄에 1개씩만 변경된다.) 마지막에 g 옵션을 주면 완전 전체를 대상으로 변경된다. c 옵션을 주면 하나씩 확인해가면서 치환한다.

일반 모드

  • 기본 DEFAULT 모드가 일반 모드이다.
  • 방향키, hjkl키 : 커서 기본이동
  • 숫자와 함께 기본이동키(방향키, hjkl키)를 누르면 한번에 해당 숫자만큼 커서가 이동된다.
  • ctrl + g : 현재 위치한 line number 출력
  • 0 : 현재 line의 제일 첫번째 칸으로 커서 이동
  • $ : 현재 line의 제일 마지막 칸으로 커서 이동
  • gg : 파일의 첫번째 줄로 커서 이동
  • G : 파일의 마지막 줄로 커서 이동
  • x : 텍스트 한 칸씩 삭제
  • 숫자와 함께 삭제키(x)를 누르면 한번에 해당 숫자만큼 텍스트가 삭제된다.
  • dd : line 전체 삭제
  • 숫자와 함께 line 삭제키(dd)를 누르면 한번에 해당 숫자만큼 line이 삭제된다.
  • u : 이전 작업 취소하기

비주얼 모드

  • v 혹은 V를 입력하면 비주얼 모드로 전환된다.
  • v는 한 글자씩 블록 지정이 가능해지고, V는 줄 단위로 블록 지정이 가능해진다.
  • 아래에 -- VISUAL -- 라는 문자가 생기면서 모드가 전환된다.
  • 블록지정된 텍스트는 그대로 삭제할 수도 있고, 복사-붙여넣기도 할 수 있다.
  • x : 블록지정된 텍스트 삭제
  • y : 복사하기
  • 삭제 혹은 복사작업을 마치면 자동으로 일반 모드가 된다.
  • p : 커서 다음 칸(줄)에 붙여넣기
  • P : 커서 이전 칸(줄)에 붙여넣기
  • v에서 블록을 복사했는지, V에서 블록을 복사했는지에 따라 p(P)의 결과가 조금 달라진다.
  • d : 삭제하기(잘라내기)

반응형

'💻 CS > 시스템프로그래밍' 카테고리의 다른 글

Linux - IO Redirection  (0) 2021.01.20
Linux - apt  (0) 2021.01.20
자주 사용되는 linux command 모음  (0) 2020.11.20
man command 살펴보기  (0) 2020.11.19
WSL (Windows Subsystem for Linux) 사용하기  (0) 2020.11.19