เหตุใดฉันจึงได้รับข้อผิดพลาด“ 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> ที่จำเป็นสำหรับการแม็พเท่านั้น แต่ไม่ใช่สำหรับคำสั่ง


โอ้สมบูรณ์แบบขอบคุณ! ฉันได้ลอกเลียนแบบคาถานี้จากการทำแผนที่ - ดูเหมือนมากเกินไป ขอบคุณ
Andrew Ferrier

1
คุณแก้ไขปัญหาด้วยข้อความแสดงข้อผิดพลาดเดียวกันกับบริบทที่แตกต่างกัน ขอบคุณ ^ _ ^
sensorario
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.