¿Por qué aparece el error "E488: caracteres finales" en este comando personalizado?

17

Tengo un ~/.vimrcque contiene solo esto:

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

(por supuesto, mi real .vimrces más complejo, pero he recreado este pequeño caso de prueba sin complementos, etc.)

Mi intención es escribir una función que admita la creación de un nuevo archivo de acuerdo con una plantilla. Se le pedirán algunos elementos de entrada al usuario vi, como el nombre del archivo.

La función aún no es tan sofisticada (¡subestimación!): Todo lo que hace es pedir el nombre del archivo. Cuando uso el comando NewFiledesde la línea de comando vi, se inicia, pero una vez que ingreso el nombre de archivo y presiono Enter, aparece el error:

E488: Trailing characters

¿Porqué es eso? ¿Qué estoy haciendo mal?

Andrew Ferrier
fuente

Respuestas:

22

Elimine el final <cr> Eso solo es necesario para las asignaciones, pero no para los comandos.

Christian Brabandt
fuente
Ah, perfecto, gracias! Copié este encantamiento de un mapeo, al parecer demasiado. Gracias.
Andrew Ferrier
1
Me resolviste un problema con el mismo mensaje de error con un contexto diferente. Gracias ^ _ ^
sensorario