NB to nie duplikat Jak działa „d3fg” pracę polecenia? Proszę przeczytać przed głosowaniem, aby zamknąć!
Dochodzę do impasu w mojej misji, aby małe usunięcia działały jak duże . Problem, jaki mam, polega na tym, że nie mogę wymyślić, jak zmienić mapowanie poleceń d3d. W rzeczywistości nie mogę nawet zrozumieć, jak one działają, ani znaleźć wzmianki o nich w pomocy Vima. *
d3jjest prosty: stosuje d
operatora do 3j
ruchu,
3ddjest również prosty: uruchamia dd
polecenie z „liczbą” 3.
d3d wygląda na to, że powinno być proste, stosuje d
operatora do… ale co to jest 3d
? To nie jest ruch. Jeśli 3dpiszesz sam, Vim traktuje go jako liczbę, po której następuje operator, i cierpliwie czeka na dalsze dane.
Nie można stosować operatorów do innych operatorów. ddnie jest opisany w pomocy jako ciąg dwóch operatorów. To osobne polecenie z dwoma naciśnięciami klawiszy. (por dc. nic nie robi).
Nie wydaje się również, aby pozycjonowanie licznika było elastyczne dla poleceń wymagających dwóch naciśnięć klawiszy: 2gjprzesuwa kursor w dół o dwie linie ekranu, ale g2jcałkowicie odrzuca pierwsze dwa naciśnięcia klawiszy i przesuwa kursor o jedną linię.
Jak to działa? Czy to tylko szczególny przypadek w wewnętrznym kodzie Vima? Czy jest jakiś sposób na stworzenie d[count]d
mapowania?
EDYCJA : Czy to obiekt tekstowy? :h text-objects
nie obejmuje go na liście „text poleceń wyboru obiektu”, ale to nie to dd na liście delecji „zgrupowane od małych do dużych obiektów”. I d2awusuwa słowo pod kursorem i następne. Z drugiej strony c2dnic nie robi.
* Jestem pewien, że niektóre wzmianki o nich muszą istnieć, ale nie mogę ich znaleźć. Czytałem :help deleting
, :help motion.txt
i spróbował :helpgrep dNd
dla wszystkich wartości N z 1-9 .
dd
jest identyczny z d_
. _
przesuwa kursor do pierwszego niepustego [count]
wiersza ( -1) linii w dół, ale jest liniowy, więc po sparowaniu z operatorem działa na całych liniach. Z tego powodu sensowne może być pojawienie się liczby między dwoma d
s.
d
działania są potwierdzeniem; Więc to jest tak samo jakd3<CR>
.y3y
ac3c
także działają tak samo ... Nie mogę znaleźć żadnych docs na to jednak zarówno w vim: pomoc, vi (1), nvi (1) lub specyfikacji POSIX ... To nie zachowują się tak samo wvi
invi
btw .