怠惰なもののための最小限の侵襲的ソリューション:
レジスターには0常に最後のヤンクが含まれます(Rafael、alex2k8、およびidbriiはすでに述べたように)。残念ながら0、常にレジスタを選択するのは非常に煩わしいので、デフォルトでp使用すると便利"0です。これは、次の行をに入れることで実現できます.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
最初の行は、各pストロークをにマップし"0pます。ただし、これによりp他のレジスタにアクセスできなくなります。したがってp、明示的に選択されたレジスタを持つすべてのストロークは、forループ内の同等のコマンドライン式にマップされます。同じことがに対しても行われPます。
このようにして、デフォルトでレジスタを使用する暗黙的pおよびPストロークを除いて、標準の動作が保持さ0れます。
ヒント1:カットコマンドは"0d、単なるではなくになりましたd。しかし、私は怠惰なので、これは私には長すぎます;)したがって、私は次のマッピングを使用しています:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
リーダーキーは\デフォルトであるので、\dまたはを入力して簡単にテキストを切り取ることができます\D。
ヒント2:マルチキーマッピングのデフォルトのタイムアウトはかなり短いです。レジスタを選択するときに時間を増やすために、値を大きくすることをお勧めします。詳細:help timeoutlenについては、私が使用しています:
set timeout timeoutlen=3000 ttimeoutlen=100