Perché visualizzo un errore "E488: caratteri finali" su questo comando personalizzato?


17

Ho un ~/.vimrcche contiene proprio questo:

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

(ovviamente il mio vero .vimrcè più complesso, ma ho ricreato questo piccolo test case senza plugin ecc.)

Il mio intento è quello di scrivere una funzione che supporti la creazione di un nuovo file secondo un modello. Alcuni elementi di input verranno richiesti all'utente vi, come il nome del file.

La funzione non è ancora così sofisticata (eufemismo!) - tutto ciò che fa è chiedere il nome del file. Quando utilizzo il comando NewFiledalla riga di comando vi, viene avviato, ma una volta immesso il nome file e premuto Invio, viene visualizzato l'errore:

E488: Trailing characters

Perché? Che cosa sto facendo di sbagliato?

Risposte:


22

Rimuovi il trailing <cr> Questo è necessario solo per i mapping, ma non per i comandi.


Ah, perfetto, grazie! Avevo copiato questo incantesimo da una mappatura - sembra un po 'troppo da vicino. Grazie.
Andrew Ferrier,

1
Mi hai risolto un problema con lo stesso messaggio di errore in un contesto diverso. Grazie ^ _ ^
sensorario
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.