NB Đây không phải là bản sao của lệnh "d3fg" hoạt động như thế nào? Xin vui lòng đọc nó trước khi bỏ phiếu để đóng!
Tôi đã đi đến một chút bế tắc trong nhiệm vụ của mình để có được các thao tác xóa nhỏ hoạt động như những việc lớn . Vấn đề tôi gặp phải là tôi không thể tìm ra cách sắp xếp lại các lệnh như thế nào d3d. Trên thực tế, tôi thậm chí không thể hiểu cách họ làm việc ở nơi đầu tiên, cũng như không tìm thấy bất kỳ đề cập nào về họ trong sự giúp đỡ của Vim. *
d3jrất đơn giản: nó áp dụng d
toán tử cho 3j
chuyển động,
3ddcũng đơn giản: nó chạy dd
lệnh với "số đếm" là 3.
d3d Có vẻ như nó nên đơn giản, nó áp dụng d
toán tử cho các nhưng nhưng là 3d
gì? Đó không phải là một chuyển động. Nếu bạn tự gõ 3d, Vim coi nó như một số đếm theo sau bởi một toán tử và kiên nhẫn chờ đợi thêm đầu vào.
Và bạn không thể áp dụng toán tử cho các toán tử khác. ddkhông được mô tả trong trợ giúp như một chuỗi hai toán tử. Đó là một lệnh hai phím riêng biệt. (xem dc, không làm gì cả.)
Dường như vị trí của số đếm là linh hoạt đối với các lệnh yêu cầu hai lần nhấn phím: 2gjdi chuyển con trỏ xuống hai dòng màn hình, nhưng g2jloại bỏ hoàn toàn hai lần nhấn phím đầu tiên và di chuyển con trỏ xuống một dòng.
Vì vậy, làm thế nào nó hoạt động? Đây có phải chỉ là một trường hợp đặc biệt trong mã nội bộ của Vim? Có cách nào tôi có thể tạo một d[count]d
bản đồ?
EDIT : Nó có phải là một đối tượng văn bản? :h text-objects
không bao gồm nó trong danh sách các "lệnh lựa chọn đối tượng văn bản", nhưng sau đó nó không bao gồm dd trong danh sách xóa "nhóm từ nhỏ tới các đối tượng lớn". Và d2awkhông xóa từ dưới con trỏ và sau đây. Mặt khác, c2dkhông làm gì cả.
* Tôi chắc chắn một số đề cập đến chúng phải tồn tại, nhưng tôi không thể tìm thấy nó. Tôi đã đọc :help deleting
, :help motion.txt
và cố gắng :helpgrep dNd
cho tất cả các giá trị của N 1-9 .
dd
là giống hệt với d_
. _
đưa con trỏ về vị trí không trống đầu tiên trên dòng ( [count]
-1), nhưng theo chiều dọc, do đó, khi được ghép nối với một toán tử, nó hoạt động trên toàn bộ dòng. Vì lý do đó, nó có ý nghĩa rằng một số đếm có thể xuất hiện giữa hai d
s.
d
hành động cuối cùng như một xác nhận; Vì vậy, nó giống nhưd3<CR>
.y3y
vàc3c
cũng hoạt động tương tự ... Tôi không thể tìm thấy bất kỳ tài liệu nào về điều này mặc dù trong Vim: help, vi (1), nvi (1) hoặc thông số POSIX ... Nó hoạt động giống nhau trongvi
vànvi
btw .