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ý 0
luô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ý 0
mọi lúc có thể khá khó chịu, vì vậy sẽ rất tuyệt nếu p
sử dụng "0
theo 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 p
nét đến "0p
. Tuy nhiên, điều này ngăn chặn p
truy cập vào bất kỳ đăng ký khác. Do đó, tất cả các p
né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 p
và P
đột quỵ, hiện sử dụng đăng ký 0
theo mặc định.
Gợi ý 1: Lệnh cắt bây giờ "0d
thay 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 \d
hoặ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