怠惰なもののための最小限の侵襲的ソリューション:
レジスターには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