hjkl는 사실 예전에 돌죽할때부터 쓰던거라 익숙했음


caw

단어 수정임. 단어 중간에 커서 두고 실행해도 단어 전체 수정 가능함.

비슷한 방식으로

ci{ ci( ci[가 있음(블럭 수정)

ca{ ca( ca[쓰면 괄호도 포함해서 수정함


ctrl-v

범위 자유롭게 지정해서 수정 가능함.

ctrl-v로 범위 지정한 다음 r 누르고 a누르면 범위 안에 있는 문자는 전부 a로 바뀜

ctrl-v로 범위 지정한 다음 I누르고 입력하고 esc누르면 범위에 해당하는 줄의 범위에 포함된 부분의 첫부분에 반복해서 입력됨

(말이 이상한데

asdasd

qweqwe

zcxzxc

가 있을때

[asd]asd

[qwe]qwe

zxczxc

이렇게 블럭 잡고 I한다음 ###입력하고 esc하면

###asdasd

###qweqwe

zxczxc

이렇게 됨.)


y숫자y, 숫자p, d숫자d라던가

yw yW y$ dw dW d$같은건 다들 알거고


ctrl-f나 ctrl-b가 페이지 이동이긴 한데

난 ctrl-d ctrl-u를 자주 씀(페이지 반만 이동)


u랑 ctrl-r은

보통 다른 프로그램에서 쓰는 ctrl-z랑 ctrl-shift-z임


o랑 O는 아래 위 줄 추가해서 입력하는건데 생각보다 엄청 편함


ctrl-a랑 ctrl-x는 숫자 +1 -1임

5 위에 커서 놓고 ctrl-a누르면 6됨. 9 다음은 10됨. 99다음은 100됨.

ctrl-x는 정반대.


"ㅁ 는 레지스터 지정임

yy같은거 2번쓰면 첫번째꺼 위에 두번째yy가 덮어쓰는데

"ayy yy

이렇게 하면 p하면 yy한게 나오고 "ap하면 "ayy한게 나옴

"b "c "d 등 원하는 문자에 지정해서 사용하면 됨.


qㅁ는 매크로임.

qa qb qc등 원하는 문자 ㅁ과 섞어서 쓰는데

qa한다음 적당히 반복을 원하는 행동을 실행하고 q누르면 매크로가 저장됨

이후 @a를 실행하면 그 행동이 반복됨.

예를들어서 qb 한다음 caW 실행하고 test입력 후 esc하고 q로 매크로 저장 종료하면

@b실행시 커서 지정된 곳의 단어를 test로 바꾸게 됨.

예는 반복이 의미없는 행동이지만 100@b이런식으로 반복 당연히 가능


/는 아래로 검색.

?는 위로 검색

검색 후 n은 다음 단어, N은 이전 단어(/랑 ?에 따라서 n,N방향 다름)


:w 저장 :q나가기 :q!강제종료 :wq 저장+나가기 :wq! 강제저장+종료

이건 다들 알거고


:! 원하는 커맨드

로 터미널에서 쉘 스크립트 사용 가능


:vs는 오른쪽에 새로운 창 만들어줌

다른 파일을 열어서 사용할 수도 있지만 그건 그냥 터미널 두개 띄우면 되는 문제니까 됐고

하나의 파일을 두가지 관점에서 볼 수 있다는 점이 좋은듯

ctrl-w + h나 l로 창 이동 가능

위아래로 창 만들수도 있긴 한데 난 잘 안써서 기억도 안남


:%s/변환할문자/결과물/g는 치환인데

이거 관련해서는 워낙 다양하게 사용이 가능해서 그냥 vim 치환이라고 검색해서 하나씩 읽어보는게 좋음

꼭 알아두면 좋은건 굳이 /쓸필요 없이

:%s"문자"문자"g // :%s'문자'문자'g 이런식으로 써도 된다는거?


gg는 제일 위 이동

G는 제일 아래 이동


자주 쓰던거 중에 기억나는건 이거밖에 없음