콘텐츠로 이동

실전 압축 빔모션 (메모용)

TIP

  • vim의 거의 모든 모션은 숫자를 앞에 입력반복실행할 수 있다.
Example

8j : 아래로 8칸 이동

  • 상당수의 edit 모션move 모션과 조합해 사용할 수 있다.
Example

dj : 현재 커서부터 아래줄까지 삭제

  • 인자를 받는 모션의 경우 인자 없이 모션을 연속 두 번 입력했을 때 기본명령이 있다.
Example

dd : 커서가 위치한 라인 삭제


Basic

move

h/j/k/l : 각각 좌/하/상/우 이동

edit

x : 현재 커서에 위치한 글자 삭제

insert

i/a : 현재 커서 앞/뒤에서 insert 모드로 변경

I/A : 현재 라인 맨앞/뒤에서 insert 모드로 변경

visual

v : visual 모드로 변경

/ : 문자열 검색

Example

/ [regex] : [regex] 가 포함된 문자열을 하이라이팅 해줌. enter를 누르면 커서를 이동해줌 (n 으로 다음단어, N 으로 이전 단어 탐색)


Elementary

move

0/$ : 현재 라인 맨 앞/뒤 지점으로 이동

w/b : 다음/이전 단어 시작위치로 이동

edit

d : 삭제 (삭제된 부분은 클립보드로 복사된다)

Example

dd : 커서가 위치한 라인 삭제 (2dd : 커서가 위치한 라인부터 2줄 삭제)

dw : 커서가 위치한 부분부터 다음 단어 시작지점까지 삭제

y : 복사

Example

yy : 커서가 위치한 라인 복사

yw : 다음 단어 시작위치까지 복사

p : 현재 커서 위치 뒤에 붙여넣기

insert

o/O : 현재 커서 바로 아래/위줄에 빈 줄을 생성하고 그 위치로 이동해 insert 모드로 변경


Intermediate

move

G/gg : 문서 맨 마지막/처음으로 이동

Tip

숫자키를 앞에 입력해 해당 라인으로 이동 할 수 있다.

ex) 9G : 9번 라인으로 이동

% : 대응되는 괄호가 있는 곳으로 이동

edit

> : indent 하나 추가 (< : indent 하나 제거)

Example

>> : 현재 커서 라인 맨앞에 indentation 추가 (>> : 현재 커서 라인 맨 앞에서 indent 한번 제거)

주의) 7>> : 7번 tab 을 입력하는게 아닌 현재 커서부터 7줄 아래까지 입력해준다.

u/^r : undo/redo


Advanced

edit

zz : 현재 커서 위치가 가운데로 오도록 라인 정렬

za/A : scope 접기/펴기 토글 (A : 최상위 스코프 토글)

m/' : 마크 표시 / 마크로 이동

Example

ma : 현재 커서가 위치한 라인에 a라는 이름으로 마킹 (아무 알파벳이나 가능)

'a : a라는 마킹이 있는 라인으로 이동

'' : 점프하기 전으로 되돌아가기

q/@ : 커맨드 기록 / 실행

Example

qb : b 라는 이름으로 커맨드 기록 시작 (아무 알파벳이나 가능, 이후 q를 입력할때까지 한 행동을 저장)

@b : b 커맨드 실행

@@ : 가장 최근에 실행된 커맨드 재실행

6@b 과 같은 형식으로 b 커맨드를 6번 반복실행할 수 있다.

command

: s/[regex1]/[regex2] : 현재 라인에서 [regex1]를 [regex2]로 변경 (s 앞에 범위 지정 가능, 맨 뒤에 옵션 선택 가능, 기본적으로 각 줄에서 제일 처음 찾은것만 변경)

Example

: $s/hi/hello : 모든 라인에서 hi를 hello로 바꿈

: '<'>s/old/new : (visual로 선택 후) 선택한 라인들에서 old를 new로 바꿈

: 6,7s/bad/good : 6번 라인부터 7번 라인들에서 bad를 good으로 바꿈

: s/opt/ion/[g/c/i/e] : 현재 라인에서 opt를 ion으로 바꿈 (g: 라인 내에서 찾은 부분 전부 대체, c: 바꾸기 전 확인, i: 대소문자 구분 없이, e: 에러 무시 (기본적으로 대체할 문자를 못찾으면 에러남, 매크로용 옵션))

: norm : normal 모드 명령어 실행

Example

: 5,9norm A; : 5번째 줄부터 9번째 줄까지 A; 실행 (맨 뒤에 ; 추가)


Example

5~9번째 줄 맨 앞에 // 추가해서 주석처리 하기

1. vim macro 이용
  1. qaI//spaceescj : 줄 맨앞으로 이동해 // 를 추가하고 normal 모드로 변경해 아랫줄로 내려가는 커맨드를 a에 저장
  2. 5번 줄로 이동해 5@a (a 매크로를 5번 반복 실행)
2. norm 명령어
  • : 5,9norm I// : (visual 모드로 선택하고 '<'> 로 지정해도 됨) 지정한 부분에 normal 모드에서 I//space 입력

Lazyvim

spacespace : 파일 이름 검색해서 새로운 버퍼(탭)로 열기

spacee : 파일 탐색기 열기

Tip

파일 탐색기가 열린 상태에서)

a(add) / d(delete) / r(rename) / y(copy) / x(cut) / p(paste) / c(copy to clipboard)

H/L : 버퍼 좌/우 이동

spacebd/o : 버퍼 닫기 (d: 현재 버퍼 닫기, o: 현재 버퍼 제외 전부 닫기)

spacecf : 코드 포매팅

spacexx : 에러 목록 보기 (^j/k : 아래/위 창으로 이동)

command

: venvselect : venv 선택

댓글