Để làm điều này theo cách VIM, bạn cố ý sử dụng yank, xóa và các thanh ghi khác.
Đăng ký "0
là đăng ký yank. Bất cứ điều gì bạn yank sẽ được đặt ở đây, nhưng xóa không bao giờ chạm vào đăng ký "0
.
Vì vậy, trong ví dụ của bạn, bạn vừa kéo một từ. Để thay thế một từ bằng những gì bạn vừa kéo, bạn tận dụng việc xóa không bao giờ chạm vào thanh ghi yank. Vì vậy, di chuyển đến từ mục tiêu, xóa nó bằng dw
, sau đó dán từ đăng ký yank của bạn với "0p
, hoặc tốt hơn, cw
sau đó ^R0
(có thể lặp lại).
Một đối diện gần với thanh ghi yank là thanh ghi xóa nhỏ "-
. Bất kỳ xóa nhỏ hoặc thay đổi loại bỏ được đặt ở đây, nhưng yanks không bao giờ chạm vào "-
. Một số xóa được tính là nhỏ nếu nó nhỏ hơn một dòng đầy đủ.
Thanh ghi "1
- "9
là các thanh ghi lịch sử xóa. Với "1
việc xóa xóa lớn nhất hoặc xóa thay đổi, và "9
chứa xóa lớn nhất cũ nhất hoặc xóa thay đổi. Chỉ xóa những phần không nhỏ, tức là xóa một dòng hoặc nhiều hơn, được đẩy lên "1
- "9
.
Đối với bất kỳ hoạt động nào thay đổi một thanh ghi, một bản sao cũng luôn được đặt trong mặc định, còn gọi là thanh ghi không tên ""
. Đây là thanh ghi được sử dụng khi bạn không đặt tên rõ ràng cho thanh ghi.
Đăng ký "_
là thanh ghi lỗ đen, và nó luôn trống. Nếu bạn xóa nó, không có gì trong bất kỳ thanh ghi nào được thay đổi, ngay cả ""
thanh ghi mặc định hoặc chính thanh ghi lỗ đen. Văn bản bị xóa hoàn toàn biến mất, ngoài lịch sử hoàn tác của bạn. Yanking, hoặc dán từ thanh ghi lỗ đen về cơ bản không có gì.
Thanh ghi lỗ đen "_
cho phép bạn thực hiện những việc như xóa đầu tiên, sau đó xóa một số thao tác xóa khác "_
mà không thay đổi thanh ghi xóa nhỏ "-
, sau đó dán thao tác xóa nhỏ đầu tiên.
Các thanh ghi khác là thanh ghi được chèn cuối cùng ".
, các thanh ghi tên tệp "%
và "#
, thanh ghi lệnh ":
, thanh ghi tìm kiếm "/
và thanh ghi biểu thức "=
.
Bạn có thể nhận được một danh sách tất cả các thanh ghi này và nội dung của chúng bằng lệnh :register
. Lệnh đó rất hữu ích để thử nghiệm và tìm hiểu xem kết thúc ở đâu.
vep
.