본문 바로가기
OS & Network

Vim - 간단한 단축키 정리

by 새발개발JA 2022. 6. 3.
반응형

 

 

내가 보려고 정리한 Vim 단축키 포스팅이다.

가끔 터미널에서 config 파일 등의 코드들을 간단히 수정해줘야 할일이 있다.

보통의 코드들은 vscode 를 통해 수정하지만, 설정관련 코드들은 포트 넘버 등의 간단한 세팅만 수정하고 저장하기 때문에 간단한 조작방법을 기억하기 위해  이 포스팅을 작성해보았다.

 

Updated 12/08/23

 

 


Vim - 간단한 단축키 정리

 

Move the cursor 

  • h move one character left
  • j  move one row down
  • k move one row up
  • l  move one character right

 

Basic word movements (w / b /  e)

  • w move to beginning of next word (다음 단어의 첫 글자)
  • b  move to previous beginning of word (이전 단어의 첫 글자)
  • e  move to end of word (단어 끝으로 이동)
  • W move to beginning of next word after a whitespace
  • B  move to beginning of previous word before a whitespace
  • E  move to end of word before a whitespace

 

Line word movements

  • - 이전줄 맨앞으로 이동
  • + 다음줄 맨앞으로 이동
  • 0 / $ 현재 라인의 처음과 끝
  • ^ 현재 라인에서 공백이 아닌 첫 글자 이동

 

Paragraph movements

  • ( ) : 이전 문장 / 다음 문장의 첫 칸으로 이동
  • { } : 이전 문단, 다음 문단의 첫 칸으로 이동
  • G  : 문서의 마지막으로 이동
  • 3G : 문서의 3번째 줄로 이동
  • '' : 이전의 커서 위치로 이동 (작은 따옴표 두번 입력))
  • H M L : 화면의 처음 중간 마지막 줄에 커서이동
  • ctrl + f / ctrl + b : 스크린 단위 이동
  • :num : 지정 라인으로 이동

 

Insert Mode (i / a / o)

  • i  for ’insert’, this immediately switches vim to insert mode ( 일반적 수정모드 / 커서에서 수정)
  • a for ’append’, this moves the cursor after the current character and enters insert mode ( 커서 바로 옆 수정모드 )
  • o inserts a new line below the current line and enters insert mode on the new line ( 아래줄에서 입력 시작 )
  • I  라인의 처음에서 입력 시작
  • A 라인 끝에서 입력 시작
  • O 윗 줄에서 입력 시작

 

Save Mode (w)

  • w : 파일 저장하기
  • w 파일명 : 지정한 파일에 저장
  • w! 파일명 : 지정한 파일을 지우고 내용을 저장 (덮어쓰기)
  • 10, 20w 파일명 : 10행과 20행 사이 내용을 지정한 파일에 저장

 

Quit Insert Mode (q)

  • 파일을 저장하고 종료             ESC → :wq → Enter
  • 파일을 저장하지 않고 종료     ESC → :q! → Enter
  • 파일 저장(w)해야 종료      ESC → :q! → Enter 

 

Delete Mode  (x / d)

(inset 모드로 들어가지 않고 esc 누르고 실행)

  • x : 문자 (본인) 하나 삭제
  • X : 커서(본인) 이전 문자 삭제
  • D : 커서부터 라인 끝까지 삭제  
  • dw : 단어(word)단위 삭제 → 10dw : 10줄삭제
  • dd : 줄단위 삭제 → 5dd - 5줄 삭제
  • db : 커서 이전 단어 삭제
  • dG : 현재 라인 ~ 끝 까지 삭제
  • d5G : 현재 라인부터 5라인 삭제

 

Text Replacement

  • r : 커서가 위치한 문자 대체
  • R : 라인 끝 까지 한 문자씩 덮어쓰고 (입력모드로 전환)
  • s : 커서가 위치한 문자를 삭제 후 (입력모드로 전환)
  • S : 커서가 위치한 줄을 삭제하고 (입력모드로 전환)
  • u : 변경 내용 취소 (undo)

 

Word Replacement (c)

  • cw : 현재 위치의 단어를 삭제하고 치환
  • cW : 공백으로 구분된 뒤 단어 삭제 후 입력 모드로 전환
  • cB : 공백으로 구분된 앞 단어 삭제하고 입력 모드로 전환

 

Copy (y) 

  • y5G : 현재 라인부터 5번째 라인까지 복사
  • yy : 한줄복사

 

Paste

  • p : 삭제되거나 복사된 부분을 커서 다음 라인에 붙여넣기
  • P : 삭제되거나 복사된 부분을 커서 이전 라인에 붙여넣기
  • . : 커서 이동 후 . 을 입력하면 이전 명령을 반복할 수 있음

Search

/pattern : 문서에서 패턴을 검색 (명령모드에서 /Unix + 엔터 하면 문서에서 커서 위치에서 뒤쪽으로 가까운 Unix 를 찾음)

n : 커서가 다음 패턴에 위치 / 이전 검색 반복 (명령모드에서 n을 누르면 문서의 다음 Unix을 찾음)

N : 반대 방향으로 검색 반복

 

locate [options] pattern

- 이름으로 파일을 찾는 방법

- 파일이나 디렉터리의 경로가 주어진 문자열을 포함하면 OK

- 권한 없는 디렉터리는 포함 X

 

find [pathname] [expression]

- 파일의 속성을 기준으로 찾음

- 검색된 파일 대상으로 명령 수행도 가능

# 지정된 위치에서 정규 파일을 찾아 각각 file 명령을 수행
$ find . -type -f -exec file '{}' \;

# 지정된 위치에서 10M 보다 큰 크기의 파일/디렉터리를 검색
$ find /usr/share -size +10M

 

grep [option] pattern [files]

- 파일에서 패턴에 상응하는 특별한 단어나 문자열을 포함하는 라인을 찾아 출력

- 검색할 파일 지정하는 대신 파이프 | 를 사용하면 앞 명령의 결과에서 문자열을 검색 가능

# 패스워드 파일에서 단어 root 을 포함하는 라인 출력
$ grep root /etc/passwd

# 앞 명령의 결과 중 inet 이라는 단어를 포함하는 라인 출력
$ ip addr show | grep inet

 

 

반응형

댓글