til
til copied to clipboard
Practical Vim
VIM 의 방식
Tip 1
.
: 이전에 수행한 작업을 반복한다.
Tip 2
둘 이상의 명령을 압축해서 단일 키 명령으로 사용할 수 있다.
C c$
s cl
S ^C
I ^i
A $a
o A<CR>
O ko
Tip 3
f{char}
: 현재행에서 char
가 나타나는 위치를 검색하고 커서를 이동한다.
Tip 4
기능 | 동작 | 반복 | 되돌리기 |
---|---|---|---|
내용 변경하기 | {편집} |
. |
u |
행에서 다음 문자 찾기 | f{문자} / t{문자} |
; |
, |
행에서 이전 문자 찾기 | F{문자} / T{문자} |
; |
, |
문서에서 다음 일치 찾기 | /패턴<CR> |
n |
N |
문서에서 이전 일치 찾기 | ?패턴<CR> |
n |
N |
치환 동작하기 | :s/대상/치환 |
& |
u |
연속 변경 실행하기 | qx{변경}q |
@x |
u |
Tip 5
*
: 현재 커서 밑에 있는 단어를 검색한다
Tip 6
점 공식: 키 입력 한번으로 이동하고, 키 입력 한번(.
)으로 실행하기
일반 모드
Tip 7
VIM의 기본 모드는 일반 모드
Tip 8
끼워넣기 모드에서 입력했던 모든 변경사항을 하나의 변경점으로 처리한다. > 덩어리 단위로 취소 가능
Tip 9
반복 가능한 명령어를 사용하는게 좋다.
-
daw
: 단어 전체를 삭제한다.
Tip 10
-
<C-a>
: 커서 아래에 있거나 오른쪽에 있는 숫자를 1 증가 시킨다. -
<C-x>
: 커서 아래에 있거나 오른쪽에 있는 숫자를 1 감소 시킨다. -
180<C-A>
: 180 증가
Tip 11
실행하고, 반복하고, 되돌려라.
-
d2w
: 두개의 단어를 삭제 -
2dw
: 단어를 두번 삭제 -
dw.
: 단어를 한번 삭제하고 반복 >.
을 연속 입력해서 여러번 반복 가능
실행 횟수 vs 점 반복
- 삭제 이후에 끼워넣기 모드로 들어간다면 실행 횟수를 지정하는게 낫다.
-
u
한번으로 삭제 후 입력을 되돌릴 수 있다.
Tip 12
오퍼레이터
+ 모션
= 행동
트리거 | 효과 |
---|---|
c | 변경 |
d | 삭제 |
y | 레지스터로 복사하기 |
g~ | 대소문자 변환하기 |
gu | 소문자로 변환하기 |
gU | 대문자로 변환하기 |
> | 우측으로 탭 이동 |
< | 좌측으로 탭 이동 |
= | 자동으로 들여쓰기 |
! | {모션} 에 해당하는 행을 외부 프로그램을 사용해 여과(필터) |
-
오퍼레이터
를 반복해서 입력하면 현재 행 을 대상으로 동작한다. -
gU
의 경우gUgU
로 작동하지만 약식 표기gUU
를 이용할 수 있다. (guu
도 가능) -
오퍼레이터
를 입력하면오퍼레이터-대기
모드가 활성화된다.
커스텀 오퍼레이터를 사용할 수 있다.
- https://github.com/tpope/vim-commentary
- commentary 플러그인이 사용하는
gc
가 커스텀 오퍼레이터다. -
:h :map-operator
커스텀 모션을 사용할 수 있다.
- https://github.com/kana/vim-textobj-entire
-
ie
,ae
모션을 추가 -
gg=G
를=ae
로 대체 -
gcae
도 가능 -
:h omap-info
Tip 13
끼워넣기 모드에서
-
<C-h>
: 앞에 있는 글자 하나 제거하기 (백스페이스와 동일) -
<C-w>
: 앞에 있는 단어 하나 제거하기 -
<C-u>
: 행의 시작 부분까지 제거하기
Tip 14
끼워넣기 모드에서 일반 모드로 전환하기
-
<Esc>
: 일반 모드로 전환하기 -
<C-[>
: 일반 모드로 전환하기 -
<C-o>
: 끼워넣기-일반 모드로 전환하기 - 끼워넣기-일반 모드는 명령 하나를 실행할 수 있다.
끼워넣기 모드에서 <C-o>zz
를 입력하면 현재 행을 화면 중앙으로 옮긴다.