내가 보려고 정리한 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
'OS & Network' 카테고리의 다른 글
Network - 브라우저 렌더링 이해하기(Feat. Virtual Dom) (0) | 2022.06.06 |
---|---|
Network - DNS 이해하기 + 기본 동작원리 (0) | 2022.06.05 |
Mac - Karabiner 설치하고 맥 한영키 변경하기 (0) | 2022.05.14 |
Cookie(쿠키) / Cache(캐시) / Session(세션) / Token(토큰) (0) | 2022.04.13 |
VScode - 탭간격 설정하기 (0) | 2022.02.26 |
댓글