[Vim] IdeaVim

KJA·2022년 6월 16일
0

네비게이션

  • h, j, k, l : 기본 이동
  • 0, $ : 줄의 처음과 끝으로 이동
  • gg, G : 문서의 처음과 끝으로 이동
  • #G, gg# : #번째 줄로 이동
  • ctrl + o : 이전 커서 위치로 가기
  • ctrl + i : 커서 다시 되돌아가기
  • w (word) : 다음 단어의 첫 글자로 이동
    - 3w : 세 단어씩 이동
  • b (backword) : 이전 단어로 이동
  • e (end of word) : 단어의 끝 글자로 이동
  • % : 가장 가까운 괄호 글자로 이동

커맨드

: 를 입력하면 Command-line 모드로 진입한다.
파일을 저장하거나 외부 명령어(셸) 사용, 기타 플러그인 기능을 불러올 때 사용된다.

  • :q : 그냥 종료
  • :q! : 강제 종료
  • :w : 파일 저장
  • :w! : 강제 저장
  • :wq : 강제 저장
  • :wq! : 강제 저장하고 종료

입력모드

  • esc : 명령모드로
  • i : 커서 앞에서 입력 모드 시작 (insert)
  • I : 문장 앞에서 입력 모드 시작
  • a : 커서 뒤에서 입력 모드 시작 (append)
  • A : 문장 끝에서 입력 모드 시작
  • o : 커서 다음 줄에서 입력 모드 시작
  • O : 커서 이전 줄에서 입력 모드 시작

지우기

  • x : 커서 위치의 글자 삭제
  • d : 지우기 (delete)

vim에서 지우기 = 잘라내기임을 기억하자. 메모리에서 기억하고 있으므로 직전에 지웠던 내용을 붙여넣기할 수 있다.

수정모드

  • R : 커서 위치부터 수정 모드 시작
  • r : 일회용 글자 단위 수정
  • c: 수정 (change)

실행취소

  • u : 실행 취소
  • U : 해당 줄의 모든 변경 사항 취소
  • ctrl+r : 다시 실행
  • . : 이전 명령 반복

선택 모드, 복붙

  • v : 선택모드
    - 선택 후 : 입력 시 :'<,'> 라는 명령이 자동으로 입력되어 나오는데, 여기에 추가로 :'<,'>w filename 으로 선택 영역만 따로 저장
  • y : 복사 (yank)
  • p : 붙여넣기

Command + Object

주로 사용하는 Command는 d, y, c 가 있다.
아래 예시는 d 기준으로 작성했으며 ycd의 위치와 동일하게 사용할 수 있다.

  • d3w : 커서 뒤의 3개의 단어 삭제
  • d3b : 커서 앞의 3개의 단어 삭제
  • daw : 단어 하나를 삭제 (delete a word)
  • dat : 태그 전체를 삭제 (delete a tag)
  • dap : 문단 전체를 삭제 (delete a paragraph)
  • das : 문장 전체를 삭제 (delete a sentence)
  • dit : 태그 안에 있는 모든 것들을 삭제
    - <p> VIM TEST </p> : p태그 안에 커서가 있고, dit를 입력할 경우 VIM TEST가 삭제된다.
  • di" : " 안에 있는 모든 것들을 삭제
  • dip : paragraph 안에 있는 모든 것들을 삭제

외부 명령 실행

:! : shell_command

  • 예) :!ls
  • 실행 후 enter 키를 통해 되돌아오거나, 계속 추가적으로 외부 명령을 입력할 수 있다.

찾기, 찾아바꾸기

/, ? : 찾기 operator / (순방향), ? (역방향)

  • /text, ?text 입력 후 enter키로 가장 가까운 것을 찾음
  • n으로 다음 검색, N으로 이전 검색 (순방향, 역방향에 따라 달라진다)
  • :s, :%s: 찾아바꾸기 명령
  • :s/old/new : 현재 위치한 줄에서 old를 new로 한 번 바꿈
  • :s/old/new/g : 현재 위치한 줄에서 모두 바꿈
  • :#1,#2s/old/new/g : #1번째 줄부터 #2번째 줄까지 모두 바꿈
  • :%s/old/new : 문서 전체에서 한 번 바꿈
  • :%s/old/new/g : 문서 전체에서 모두 바꿈
  • :%s/old/new/gc : 문서 전체에서 모두 바꾸는데, 하나씩 물어봐준다.

\c: 명령 뒤에 붙여서 일회용으로 대소문자 구별 안하기 (e.g. /searchtext\c)

설정 변수 :set

여러 vim 설정을 바꿀 수 있다. 예를 들면 다음과 같은 찾기 관련 설정을 바꿀 수 있다.

  • :set ic (ignore case) : 이제부터 대소문자 구별하지 않고 검색한다.
  • :set noic : 다시 대소문자 구별하게 검색한다.
  • :set hls (highlight search) : 검색 결과를 하이라이트 표시해준다.
  • :set is (incremental search): 한 글자씩 쓸 때마다 검색이 반응 (직접 해보길)

이러한 설정들을 vim을 열 때마다 하나씩 다 입력하고 시작할 수는 없는 법. 설정 파일을 따로 만들어 저장하고, 이를 기반으로 vim을 시작하면 된다.

  1. 새로 vim을 열고, :r $VIMRUNTIME/vimrc_example.vim 을 입력하면 예제 설정 템플릿을 로드할 수 있다.
  2. :w .vimrc 로 저장
  3. 이제 vim을 새로 시작하면 저장된 설정대로 vim이 작동할 것이다.

도움 받기

  • :help : 도움말 보기
  • :help command : 명령에 대한 도움말 보기 (e.g. :help w, :help c_CTRL-D, :help insert-index, :help user-manual)

https://iamfreeman.tistory.com/m/entry/vi-vim-%ED%8E%B8%EC%A7%91%EA%B8%B0-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC-%EB%8B%A8%EC%B6%95%ED%82%A4-%EB%AA%A8%EC%9D%8C-%EB%AA%A9%EB%A1%9D

https://jybaek.tistory.com/928

https://www.joinc.co.kr/w/Site/Vim/Documents/UsedVim

https://coldmater.tistory.com/category/%EA%B0%9C%EB%B0%9C%EB%8F%84%EA%B5%AC/vim?page=2

0개의 댓글