คำถามติดแท็ก error

3
`<Bar> 'หมายถึงอะไร
ในการตอบคำถามตอนนี้ฉันพูดถึงการใช้การแมปปุ่มโหมดปกติที่สามารถพบได้ที่ vim.wikia.com ในช่วงกลางของการอธิบายการทำแผนที่สำคัญฉันรู้ว่าฉันไม่รู้ว่า&lt;Bar&gt;หมายถึงอะไร มันหมายความว่าอะไร? ฉันพยายามแทนที่ด้วยไพพ์|โดยมีและไม่มีช่องว่างก่อนรอบและหลังจากนั้น แต่แต่ละ.vimrcไฟล์แตกด้วยข้อความแสดงข้อผิดพลาดต่อไปนี้: Error detected while processing /home/bottomsc/.vimrc: line 173: E488: Trailing characters: :nohl&lt;CR&gt;

1
เหตุใดฉันจึงได้รับข้อผิดพลาด“ E488: ตัวอักษรต่อท้าย” ในคำสั่งที่กำหนดเองนี้
ฉันมี~/.vimrcที่มีเพียงแค่นี้: function! NewFile() let filename = input("Filename:") endfunction command NewFile :call NewFile()&lt;cr&gt; (แน่นอนความจริงของฉัน.vimrcซับซ้อนกว่า แต่ฉันได้สร้างกรณีทดสอบเล็ก ๆ นี้ขึ้นมาใหม่โดยไม่มีปลั๊กอิน ฯลฯ ) ฉันตั้งใจจะเขียนฟังก์ชั่นที่รองรับการสร้างไฟล์ใหม่ตามเทมเพลต บางรายการอินพุตจะถูกถามจากผู้ใช้ vi เช่นชื่อของไฟล์ ฟังก์ชั่นยังไม่ซับซ้อน (พูดน้อย!) - ทั้งหมดที่ทำคือขอชื่อไฟล์ เมื่อฉันใช้คำสั่งNewFileจากบรรทัดคำสั่ง vi มันเริ่มต้น แต่เมื่อฉันป้อนชื่อไฟล์และกด Enter ฉันได้รับข้อผิดพลาด: E488: Trailing characters ทำไมถึงเป็นอย่างนั้น? ผมทำอะไรผิดหรือเปล่า?

1
ฉันจะหยุด Vim ไม่ให้เขียนไฟล์โดยไม่เกิดข้อผิดพลาดได้อย่างไร
ฉันพยายามปรับปรุงรหัสจากคำตอบนี้เพื่อขอการยืนยันก่อนสร้างไดเรกทอรีที่ขาดหายไปนี่คือสิ่งที่ฉันเขียน: function! CreateDirectoryAskConfirmation(path) if !isdirectory(a:path) echohl Question echo "Create directory " . a:path . "?" echohl None let response = nr2char(getchar()) if response ==? "y" call mkdir(a:path, "p") endif endif endfunction autocmd BufWritePre * call CreateDirectoryAskConfirmation(expand("&lt;afile&gt;:p:h")) สิ่งหนึ่งที่ฉันหายไป: เมื่อฉันไม่กดyที่พรอมต์ฉันต้องการให้ Vim ยกเลิกการเขียนดังนั้นฉันจึงไม่ได้รับข้อผิดพลาดE212: Can't open file for writingและฉันไม่จำเป็นต้องกดปุ่มอื่นเพื่อให้ข้อความแสดงข้อผิดพลาดหายไป มีวิธีที่จะบรรลุเป้าหมายนี้หรือไม่?
10 save  autocmd  error 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.