Tembel olanlar için minimal invaziv bir çözüm:
Kayıt 0
her zaman son yank içerir ( Rafael , alex2k8 ve idbrii daha önce de belirtildiği gibi). Ne yazık ki 0
her zaman kayıt seçmek oldukça sinir bozucu olabilir, bu yüzden varsayılan olarak p
kullanırsa iyi olurdu "0
. Bu, aşağıdaki satırları bilgisayarınıza koyarak elde edilebilir .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
İlk satır her p
konturu eşleştirir "0p
. Ancak bu, p
diğer kayıtlara erişilmesini önler . Bu nedenle p
, açıkça seçilmiş bir kaydı olan tüm konturlar for-loop içindeki eşdeğer komut satırı ifadesine eşlenir. Aynı şey için de yapılır P
.
Bu yolla, şimdi kayıt kullanan örtük p
ve P
konturlar dışında standart davranış korunur0
varsayılan olarak .
İpucu 1: Kesme komutu artık "0d
sadece yerine d
. Ama tembel olduğum için bu benim için çok uzun;) Bu nedenle aşağıdaki eşlemeyi kullanıyorum:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
Lider tuşu \
varsayılan olarak, böylece \d
veya yazarak metni kolayca kesebilirsiniz \D
.
İpucu 2: Çok tuşlu eşlemeler için varsayılan zaman aşımı süresi oldukça kısadır. Bir kayıt seçerken bu süreyi uzatmak isteyebilirsiniz. Ayrıntılar :help timeoutlen
için bakın, kullanıyorum:
set timeout timeoutlen=3000 ttimeoutlen=100