Câu trả lời:
Nói chung, d <motion> sẽ xóa từ vị trí hiện tại đến vị trí kết thúc sau <chuyển động>. Điều này có nghĩa rằng:
Đọc phần này để tìm hiểu tất cả những điều bạn có thể kết hợp với lệnh 'd'.
d<leftArrow>
làm dh
thay vào đó, kể từ khi h
là chìa khóa cho di chuyển sang trái
Tôi đã ở trong kịch bản này nhiều lần. Tôi muốn loại bỏ tất cả các khoảng trắng trong dòng 10 để nó sẽ tham gia với dòng 9 sau dấu phẩy.
Đây về cơ bản là một dòng đơn giản tham gia vào VIM.
kJ
lừa không (xem bên dưới)
k
= Up, J
= Nối dòng bên dưới với dòng hiện tại có một khoảng trắng ở giữa. Bạn cũng có thể làm kgJ
để tham gia mà không có không gian. gJ
= Tham gia dòng bên dưới mà không có khoảng trống ở giữa. Qua áo choàng
Để trả lời điểm # 3, diw
và daw
là tuyệt vời.
db
xóa các chữ cái trước chữ cái cuối cùng nhưng vẫn để lại chữ cái cuối cùng.
i
và a
đang làm ở giữa những lệnh đó không? Tôi biết rằng hàng đầu d
là "xóa" và tôi cho rằng dấu sau w
là "từ".
:help text-objects
. Đoạn đầu rất súc tích và tôi nghĩ mô tả nó rất hay.
Trong chế độ chèn:
Nếu không thì:
db
(nếu con trỏ ở sau từ) hoặc bdw
d0
(hoặc d^
nếu bạn muốn xóa ký tự không trống đầu tiên)dE
hoặc dtSpacexóa sang khoảng d/\sEntertrắng đầu tiên hoặc xóa sang ký tự khoảng trắng tiếp theo.Biên tập
Vì câu hỏi đã được thay đổi sao cho 3 bị xóa thành ký tự khoảng trắng đầu tiên bên trái, câu trả lời của tôi sẽ thay đổi thành:
dB
hoặc dShiftTSpaceđể xóa trở lại khoảng d?\sEntertrắng đầu tiên hoặc xóa sang ký tự khoảng trắng trước đó.Xem:
:help motion.txt
:help WORD
bdw
. Các ký tự còn lại (ký tự ban đầu dưới con trỏ) db
khiến tôi khó chịu.
Tôi cảm thấy rằng không có câu trả lời nào là hoàn chỉnh:
Nói chung, bạn thường bắt đầu một thao tác xóa bằng cách sử dụng d<motion>
và hiếm khi sử dụng x
.
Lưu ý: Khi
N
không được chỉ định, hành xử như thểN=1
(xóa một ký tự đơn)
Các ký tự rời rạc:
<N>x
- Xóa N ký tự bên phải
d<N><left-arrow>
- Xóa N ký tự bên trái
d<N><right-arrow>
- Xóa N ký tự bên phải
Ranh giới từ:
Lưu ý: Từ trước / thành công đầu tiên là từ dưới con trỏ
d<N>b
- Xóa từ đầu từ N-th trước đến vị trí hiện tại
d<N>e
- Xóa từ vị trí hiện tại đến cuối từ N-th tiếp theo
d<N>w
- Giống như d<N>e
nhưng bao gồm cả khoảng trắng theo sau
diw
- Xóa toàn bộ từ dưới con trỏ
daw
- Giống như diw
nhưng bao gồm cả khoảng trắng theo sau
Ranh giới dòng:
d0
- Xóa từ đầu dòng đến vị trí hiện tại
d^
- Xóa từ char không phải khoảng trắng đầu tiên đến vị trí hiện tại
d$
- Xóa từ vị trí hiện tại đến cuối dòng
/ <CR>x
(tìm kiếm một khoảng trắng, nhấn enter để đến đó, x để xóa)
Có thể có một cách kỳ diệu hơn để làm điều đó, nhưng tôi không biết về nó.
db
khó nhớ:5. dw or d<ctrl+rightarrow>
và6. db or d<ctrl+leftarrow>