Je viens de créer une fonction Vim pour remplacer les sauts de ligne Windows par des sauts Unix. Maintenant, je veux pouvoir taper :linebreak
et le faire fonctionner. Voici ma première tentative:
function UseUnixLineBreaks()
:%s/^M/\r/g
endfunction
cmap linebreak :call UseUnixLineBreaks()<CR>
(Au fait, c’est ^M
un caractère de contrôle - tapez-le avec Ctrl+v Ctrl+m
)
Lorsque j'essaie d'exécuter ceci en le tapant :linebreak
, il s'exécute, mais il se comporte étrangement: chaque lettre de la commande apparaît dans l'ordre, effaçant la précédente. Par exemple, je vois :l
, puis :i
, puis :n
, etc. Lorsque je tape la dernière lettre, elle s’exécute immédiatement.
Je veux que toute la commande apparaisse, afin que je puisse voir que je l'ai tapée correctement, puis appuyez sur Entrée pour l'exécuter.
Comment puis-je faire ceci?