Pourquoi est-ce que j'obtiens une erreur «E488: Trailing characters» sur cette commande personnalisée?


17

J'en ai un ~/.vimrcqui contient juste ceci:

function! NewFile()
        let filename = input("Filename:")
endfunction
command NewFile :call NewFile()<cr>

(bien sûr mon réel .vimrcest plus complexe, mais j'ai recréé ce petit cas de test sans plugins etc.)

Mon intention est d'écrire une fonction qui prend en charge la création d'un nouveau fichier selon un modèle. Certains éléments d'entrée seront demandés à l'utilisateur vi, comme le nom du fichier.

La fonction n'est pas encore aussi sophistiquée (euphémisme!) - Tout ce qu'elle fait, c'est demander le nom du fichier. Lorsque j'utilise la commande à NewFilepartir de la ligne de commande vi, elle démarre, mais une fois que j'entre le nom de fichier et appuie sur Entrée, j'obtiens l'erreur:

E488: Trailing characters

Pourquoi donc? Qu'est-ce que je fais mal?

Réponses:


22

Supprimez la fin <cr> qui n'est nécessaire que pour les mappages, mais pas pour les commandes.


Ah, parfait, merci! J'avais copié cette incantation d'une cartographie - un peu trop près, semble-t-il. Merci.
Andrew Ferrier

1
Vous m'avez résolu un problème avec le même message d'erreur avec un contexte différent. Merci ^ _ ^
sensorario
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.