Để 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ý "0là đă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, cwsau đó ^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- "9là các thanh ghi lịch sử xóa. Với "1việc xóa xóa lớn nhất hoặc xóa thay đổi, và "9chứ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.