NB입니다 하지 의 중복 은 "d3fg"명령 작업을 수행하는 방법? 투표하기 전에 읽어보십시오!
작은 삭제가 큰 삭제 작업을 수행하려는 내 퀘스트 에서 약간의 어려움을 겪었습니다 . 내가 가진 문제는과 같은 명령을 다시 매핑하는 방법을 알 수 없다는 것 d3d입니다. 사실, 나는 그들이 처음부터 어떻게 작동하는지 이해할 수 없으며 Vim의 도움으로 그에 대한 언급을 찾을 수 없습니다. *
d3j간단합니다 : d
연산자를 3j
동작에 적용합니다 .
3dd또한 "직접 dd
"이 3 인 명령을 실행합니다 .
d3d 그것은 간단 해야하는 것처럼 보이며d
연산자를 적용 합니다 ...하지만 무엇 3d
입니까? 움직임이 아닙니다. 3d자체적으로 입력 하는 경우 Vim은이 값을 연산자 다음에 카운트로 취급하고 추가 입력을 참을성있게 기다립니다.
그리고 다른 연산자에는 연산자를 적용 할 수 없습니다. dd도움말에는 두 연산자의 시퀀스로 설명되어 있지 않습니다. 별도의 2 키 스트로크 명령입니다. ( dc아무것도하지 않는 참조 )
또한 두 번의 키 입력이 필요한 명령에 대해 개수를 유연하게 배치 할 수없는 것 같습니다 2gj. 커서를 두 화면 줄 아래로 이동하지만 g2j처음 두 키 누르기를 완전히 버리고 커서를 한 줄 아래로 이동합니다.
어떻게 작동합니까? 이것은 Vim의 내부 코드에서 특별한 경우입니까? d[count]d
매핑을 만들 수있는 방법이 있습니까?
편집 : 텍스트 개체입니까? :h text-objects
"텍스트 개체 선택 명령" 목록에는 포함 되지 않지만 "작은 개체에서 큰 개체로 그룹화 된"삭제 목록에는 dd 가 포함됩니다. 그리고 d2aw커서 아래의 단어와 다음 하나를 삭제한다. 반면에, c2d아무것도하지 않습니다.
* 나는 그들에 대한 언급이 있어야한다고 확신하지만 찾을 수는 없습니다. 나는 읽었습니다 :help deleting
, :help motion.txt
그리고 노력 :helpgrep dNd
1-9에서 N의 모든 값에 대해 .
dd
동일합니다 d_
. _
( [count]
-1) 번째 줄 의 첫 번째 공백이 아닌 커서로 커서를 가져옵니다. 그러나 줄 단위이므로 연산자와 쌍을 이루면 전체 줄에서 작동합니다. 따라서 두 d
s 사이에 카운트가 나타날 수 있습니다 .
d
이 확인의 역할을 한다고 생각한다 . 따라서와 동일합니다d3<CR>
.y3y
및c3c
도움, VI (1), NVI (1) 또는 POSIX 사양 ...이 글은 같은 동작합니다 수행합니다 또한 빔 중 하나에 불구하고 나는이에있는 모든 문서를 찾을 수 없습니다 ... 동일하게 작동vi
하고nvi
BTW .