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

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

4
คำสั่งเพื่อวนซ้ำคำแนะนำการสะกดคำ
ฉันแมปzzไป1z=ซึ่งเป็นที่ดีที่สุดของเวลา แต่ทุกขณะนี้แล้วข้อเสนอแนะครั้งแรกไม่ได้เป็นหนึ่งที่เหมาะสม ดังนั้นฉันต้องการที่จะทำซ้ำzz(หรือ.) ซ้ำเพื่อหลีกเลี่ยงข้อเสนอแนะอื่น ๆ วินาทีzzในคำเดียวกันจากนั้นก็จะได้ผลเหมือนu2z=กันข้อที่สามzzก็ใช้ได้เหมือนu3z=กัน ความคิดใด ๆ เกี่ยวกับวิธีการทำเช่นนั้น? แก้ไข: จากคำตอบที่ยอดเยี่ยมของ @ nobe4 ฉันสามารถทำสิ่งที่ฉันต้องการได้ แต่ฉันจะทิ้งไว้ที่นี่ซักพักในกรณีที่มีใครมีการปรับปรุงหรือคำแนะนำ: let s:spell_position = [] let s:spell_count = 0 let s:spell_word = "" function! LoopSpell() if s:spell_position != getpos('.') || \ (s:spell_count > 0 && s:spell_word !~ expand("<cword>")) let s:spell_count = 0 let s:spell_position = getpos('.') …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.