Une solution invasive minimale pour les paresseux:
Le registre 0
contient toujours le dernier coup sec (comme Rafael , alex2k8 et idbrii l' ont déjà mentionné). Malheureusement, la sélection du registre 0
tout le temps peut être assez ennuyeuse, donc ce serait bien si elle était p
utilisée "0
par défaut. Ceci peut être réalisé en mettant les lignes suivantes dans votre .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
La première ligne associe chaque p
trait à "0p
. Cependant, cela empêche p
d'accéder à d'autres registres. Par conséquent, tous les p
traits avec un registre explicitement sélectionné sont mappés à l'expression de ligne de commande équivalente dans la boucle for. La même chose est faite pour P
.
De cette façon, le comportement standard est préservé, à l'exception de l'implicite p
et des P
traits, qui utilisent désormais le registre 0
par défaut.
Astuce 1: La commande cut est maintenant "0d
au lieu de juste d
. Mais comme je suis paresseux, c'est beaucoup trop long pour moi;) Par conséquent, j'utilise le mappage suivant:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
La touche de repère est \
par défaut, vous pouvez donc facilement couper du texte en tapant \d
ou \D
.
Astuce 2: le délai d'expiration par défaut pour les mappages multi-touches est assez court. Vous voudrez peut-être l'augmenter pour avoir plus de temps lors de la sélection d'un registre. Voir :help timeoutlen
pour plus de détails, j'utilise:
set timeout timeoutlen=3000 ttimeoutlen=100