Dlaczego pojawia się błąd „E488: końcowe znaki” w tym niestandardowym poleceniu?


17

Mam taki, ~/.vimrcktóry zawiera tylko to:

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

(oczywiście moja rzeczywistość .vimrcjest bardziej złożona, ale odtworzyłem ten mały przypadek testowy bez wtyczek itp.)

Moim zamiarem jest napisanie funkcji, która obsługuje tworzenie nowego pliku zgodnie z szablonem. Niektóre elementy wejściowe będą pytane od użytkownika vi, takie jak nazwa pliku.

Ta funkcja nie jest jeszcze tak zaawansowana (niedopowiedzenie!) - wystarczy poprosić o nazwę pliku. Kiedy używam polecenia NewFilez wiersza polecenia vi, zaczyna się, ale po wprowadzeniu nazwy pliku i naciśnięciu klawisza Enter pojawia się błąd:

E488: Trailing characters

Dlaczego? Co ja robię źle?

Odpowiedzi:


22

Usuń końcowe, <cr> które jest potrzebne tylko dla mapowań, ale nie dla poleceń.


Ach, idealnie, dziękuję! Skopiowałem to zaklęcie z mapowania - wydaje się trochę zbyt blisko. Dzięki.
Andrew Ferrier,

1
Rozwiązałeś problem z tym samym komunikatem o błędzie w innym kontekście. Dziękuję ^ _ ^
sensorario
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.