일반 모드의 명령어 중 특정 명령어가 동작이 지연되는 방식을 의미한다.
🔍ex) 오퍼레이션 펜딩 모드 예시
d
를 누르면 범위를 지정하기 전까지는 아무런 동작을 하지 않는다. d
명령이 실행되기는 하지만, 뒤 따라오는 추가 명령어가 입력되기 전까지는 대기 상태(pending)에 머무르는 것이다.뒤 따라오는 추가 명령어는 무엇일까?
vim 도움말을 보면, 오퍼레이션 펜딩 모드(예를 들면, d
를 입력한 상태)에서 추가로 입력 가능한 키 중 {motion}
키가 보인다.
{motion}
이란, 단어 사이나 행, 특정 위치로 이동하는 키 입력을 의미하며, 이 때 입력된 이동 범위가 명령어가 작동할 범위가 된다.
d
명령어가 추가로 입력 받는 명령에 따라 작동하는 방식의 예시는 다음과 같다.
명령어 | 설명 |
---|---|
d $ | 현재 커서의 위치부터 행 끝까지 삭제한다. |
d d | 현재 행을 삭제한다. |
d j | 현재 행과 아래 행(↓)을 삭제한다. |
d k | 현재 행과 윗 행(↑)을 삭제한다. |
d w 또는d e | 현재 커서 위치부터 단어 끝까지 삭제한다. |
d iw | 현재 커서가 위치한 단어를 앞뒤 공백을 포함하지 않고 삭제한다. |
d aw | 현재 커서가 위치한 단어를 앞뒤 공백을 포함하여 삭제한다. |
d ^ | 현재 커서 위치부터 행 시작 부분까지 삭제한다. |
d } | 현재 커서 위치부터 문단 끝까지 삭제한다. |
이렇 듯 현재 커서의 위치를 옮기는 명령어({motion}
)를 추가로 받는다.
🔍ex) {motion}
을 사용하는 명령어의 예시
명령어 | 설명 |
---|---|
y {motion} | {motion}만큼 복사 |
d {motion} | {motion}만큼 삭제 |
c {motion} | {motion}만큼 변경 |