Примітка. Це не дублікат того, як працює команда "d3fg"? Будь ласка, прочитайте його перед голосуванням, щоб закрити!
Я трохи зіткнувся в моєму прагненні змусити невеликі видалення працювати як великі . Проблема, яку я маю, полягає в тому, що я не можу зрозуміти, як перевпорядкувати такі команди d3d. Насправді я навіть не можу зрозуміти, як вони працюють, в першу чергу, і не знайду жодної згадки про них у допомозі Віма. *
d3jпрямо: він застосовує d
оператора до 3j
руху,
3ddтакож прямо: він запускає dd
команду з "count" 3.
d3d схоже, це має бути просто, він застосовує d
оператора до… але що таке 3d
? Це не рух. Якщо ви вводите 3dсамостійно, Vim сприймає це як кількість, за якою слідує оператор, і терпляче чекає подальшого введення.
І ви не можете застосувати операторів до інших операторів. ddне описано в довідці як послідовність двох операторів. Це окрема команда з двома клавішами. (пор. dc, що нічого не робить.)
Також не здається, що позиціонування підрахунку є гнучким для команд, які потребують двох натискань клавіш: 2gjпереміщує курсор вниз по двох рядках екрана, але g2jвідхиляє перші два клавіші повністю і переміщує курсор вниз на один рядок.
То як це працює? Це лише особливий випадок із внутрішнього коду Vim? Чи можна створити d[count]d
відображення?
EDIT : Це текстовий об’єкт? :h text-objects
не включити його в список «текстових команд вибору об'єктів», але тоді він дійсно включає дд в списку вилучень «згрупованих від маленьких до великих об'єктів». І d2awвидаляє слово під курсором та наступне. З іншого боку, c2dнічого не робить.
* Я впевнений, що деякі згадки про них повинні існувати, але я не можу його знайти. Я читав :help deleting
, :help motion.txt
і пробував :helpgrep dNd
для всіх значень N від 1–9 .
dd
тотожна d_
. _
приводить курсор до першого непорожнього [count]
ряду ( -1) -го рядка вниз, але він є лінійним, тому при парі з оператором він працює на цілі рядки. З цієї причини має сенс, що між двома d
s може з’явитися підрахунок .
d
виступають як підтвердження; Так це те саме, щоd3<CR>
.y3y
аc3c
також працювати так само ... Я не можу знайти жодних документів з цього приводу, хоча і в Vim: help, vi (1), nvi (1), або в специфікації POSIX ... Він поводиться так само вvi
іnvi
btw .