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 doperatora do 3jruchu,
3ddjest również prosty: uruchamia ddpolecenie z „liczbą” 3.
d3d wygląda na to, że powinno być proste, stosuje doperatora 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]dmapowania?
EDYCJA : Czy to obiekt tekstowy? :h text-objectsnie 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.txti spróbował :helpgrep dNddla wszystkich wartości N z 1-9 .
ddjest 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 ds.
ddziałania są potwierdzeniem; Więc to jest tak samo jakd3<CR>.y3yac3ctakż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 wviinvibtw .