Por que estou recebendo um erro "E488: caracteres à direita" neste comando personalizado?

17

Eu tenho um ~/.vimrcque contém exatamente isso:

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

(é claro que meu real .vimrcé mais complexo, mas recriei esse pequeno caso de teste sem plugins etc.)

Minha intenção é escrever uma função que suporte a criação de um novo arquivo de acordo com um modelo. Alguns itens de entrada serão solicitados ao usuário vi, como o nome do arquivo.

A função ainda não é tão sofisticada (eufemismo!) - basta pedir o nome do arquivo. Quando eu uso o comando na linha NewFilede comando do vi, ele inicia, mas depois que digito o nome do arquivo e pressiono Enter, recebo o erro:

E488: Trailing characters

Por que é que? O que estou fazendo de errado?

Andrew Ferrier
fonte

Respostas:

22

Remova o final <cr> Isso é necessário apenas para mapeamentos, mas não para comandos.

Christian Brabandt
fonte
Ah, perfeito, obrigado! Eu copiei esse encantamento de um mapeamento - parece um pouco muito próximo. Obrigado.
Andrew Ferrier
1
Você resolveu um problema com a mesma mensagem de erro em um contexto diferente. Obrigado ^ _ ^
sensorario 13/01