Чому в цій спеціальній команді я отримую помилку "E488: Записи символів"?


17

У мене є таке, ~/.vimrcщо містить саме це:

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

(звичайно, моя реальна .vimrcбільш складна, але я відтворив цей невеликий тестовий випадок без плагінів тощо)

Моя мета - написати функцію, яка підтримує створення нового файлу за шаблоном. Деякі елементи введення будуть запитуватися у користувача vi, наприклад, ім'я файлу.

Функція ще не така складна (заниження!) - все, що вона робить, це запитати ім'я файлу. Коли я використовую команду NewFileз командного рядка vi, вона запускається, але потім, коли я ввожу ім'я файлу та натискаю Enter, я отримую помилку:

E488: Trailing characters

Чому так? Що я роблю неправильно?

Відповіді:


22

Видаліть трейлінг, <cr> який потрібен лише для відображень, але не для команд.


Ах, ідеально, дякую! Я скопіював цю заклик із картографування - здається, трохи надто близько. Спасибі.
Ендрю Фер'є

1
Ви вирішили мені проблему з тим самим повідомленням про помилку з іншим контекстом. Дякую ^ _ ^
sensorario
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.