Mengapa saya mendapatkan kesalahan "E488: Trailing karakter" pada perintah khusus ini?

17

Saya punya ~/.vimrcyang hanya berisi ini:

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

(tentu saja real saya .vimrclebih kompleks, tapi saya telah membuat ulang test case kecil ini tanpa plugin dll

Maksud saya adalah untuk menulis fungsi yang mendukung pembuatan file baru sesuai dengan templat. Beberapa item input akan diminta dari pengguna vi, seperti nama file.

Fungsi ini belum begitu canggih (meremehkan!) - yang dilakukannya hanyalah meminta nama file. Ketika saya menggunakan perintah NewFiledari baris perintah vi, itu dimulai, tetapi kemudian setelah saya memasukkan nama file dan tekan Enter, saya mendapatkan kesalahan:

E488: Trailing characters

Mengapa demikian? Apa yang saya lakukan salah?

Andrew Ferrier
sumber

Jawaban:

22

Hapus trailing <cr> Itu hanya diperlukan untuk pemetaan, tetapi tidak untuk perintah.

Christian Brabandt
sumber
Ah, sempurna, terima kasih! Saya telah menyalin mantra ini dari pemetaan - agak terlalu dekat, sepertinya. Terima kasih.
Andrew Ferrier
1
Anda memecahkan saya masalah dengan pesan kesalahan yang sama dengan konteks yang berbeda. Terima kasih ^ _ ^
sensorario