Một giải pháp xâm lấn tối thiểu cho những người lười biếng:
Đăng ký 0luôn chứa các yank cuối cùng (như Rafael , alex2k8 và idbrii đã đề cập). Thật không may, việc chọn đăng ký 0mọi lúc có thể khá khó chịu, vì vậy sẽ rất tuyệt nếu psử dụng "0theo mặc định. Điều này có thể đạt được bằng cách đặt các dòng sau vào .vimrc:
noremap p "0p
noremap P "0P
for s:i in ['"','*','+','-','.',':','%','/','=','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
execute 'noremap "'.s:i.'p "'.s:i.'p'
execute 'noremap "'.s:i.'P "'.s:i.'P'
endfor
Dòng đầu tiên ánh xạ mỗi pnét đến "0p. Tuy nhiên, điều này ngăn chặn ptruy cập vào bất kỳ đăng ký khác. Do đó, tất cả các pnét với một thanh ghi được chọn rõ ràng được ánh xạ tới biểu thức dòng lệnh tương đương trong vòng lặp for. Điều tương tự được thực hiện cho P.
Bằng cách này, hành vi tiêu chuẩn được bảo tồn, ngoại trừ ẩn pvà Pđột quỵ, hiện sử dụng đăng ký 0theo mặc định.
Gợi ý 1: Lệnh cắt bây giờ "0dthay vì chỉ d. Nhưng vì tôi lười nên điều này quá dài đối với tôi;) Vì vậy, tôi đang sử dụng ánh xạ sau:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
Khóa lãnh đạo \theo mặc định, vì vậy bạn có thể dễ dàng cắt văn bản bằng cách nhập \dhoặc \D.
Gợi ý 2: Thời gian chờ mặc định cho ánh xạ đa khóa khá ngắn. Bạn có thể muốn tăng nó để có thêm thời gian khi chọn đăng ký. Xem :help timeoutlenđể biết chi tiết, tôi đang sử dụng:
set timeout timeoutlen=3000 ttimeoutlen=100