เพิ่มไฟล์คำที่ดีเฉพาะไปยัง wordlist ภายในเป็นกลุ่ม (ผ่าน modeline)


9

เป็นไปได้หรือไม่ที่จะเพิ่มคำที่สะกดถูกต้องลงใน wordlist ภายในของ vim ผ่าน modeline? หรือวิธีการเฉพาะไฟล์อื่น?

กลุ่มสามารถเพิ่มคำภายใน-WordList ชั่วคราวผ่านคำสั่งที่สำคัญหรือzG :spellgood! {word}สามารถทำแบบเดียวกันกับ modeline ได้หรือไม่?

ตัวอย่างจะเป็นข้อความต่อไปนี้ที่ฉันต้องการให้คำย่อ "RAS" และ "RAP" เป็นคำที่ดีเมื่อใช้การตรวจสอบการสะกดคำเป็นกลุ่ม

RAS ซินโดรม (ย่อมาจาก "ซินโดรมย่อซินโดรมซ้ำซ้อน") ยังเป็นที่รู้จักกันในนาม PNS ดาวน์ซินโดรม ("ซินโดรมหมายเลขซินโดรมหมายเลข PIN" ซึ่งขยายไปถึง หมายถึงการใช้คำศัพท์หนึ่งคำขึ้นไปที่ประกอบขึ้นเป็นอักษรย่อหรือการเริ่มต้นร่วมกับรูปแบบย่อดังนั้นผลซ้ำคำหนึ่งคำหรือมากกว่านั้น

คัดลอกข้อความจากhttp://en.wikipedia.org/wiki/RAS_syndrome

คำตอบ:


6

ปัจจุบันกลุ่มให้กลไก "ดั้งเดิม" ไม่มีการทำเช่นนี้ถึงแม้ว่าฉันคิดว่ามันเป็นความคิดที่ดี สิ่งเดียวที่ฉันคิดได้ก็คือการ:autocmdเรียกใช้ฟังก์ชันที่ค้นหาส่วนพิเศษในไฟล์จากนั้นเลื่อนเคอร์เซอร์ไปที่คำในส่วนนั้นและเรียกzGใช้:normalคำสั่ง มันจะยุ่งและฉันก็ลังเลที่จะยุ่งกับมัน

แก้ไข:แน่นอนว่าอย่างใดฉันมองข้ามการดำรงอยู่ของ:spellgood!แม้ว่ามันจะเป็นคำถามของคุณ ทำให้งานเป็นไปได้มากขึ้น ฉันมาพร้อมกับการใช้งานพื้นฐานซึ่งคุณสามารถปรับแต่งให้เหมาะกับความต้องการของคุณ:

function! AutoSpellGoodWords()
    let l:goodwords_start = search('\C-\*-SpellGoodWordsStart-\*-', 'wcn')
    let l:goodwords_end = search('\C-\*-SpellGoodWordsEnd-\*-', 'wcn')
    if l:goodwords_start == 0 || l:goodwords_end == 0
        return
    endif
    let l:lines = getline(l:goodwords_start + 1, l:goodwords_end - 1)
    let l:words = []
    call map(l:lines, "extend(l:words, split(v:val, '\\W\\+'))")
    for l:word in l:words
        silent execute ':spellgood! ' . l:word
    endfor
endfunction

autocmd BufReadPost * call AutoSpellGoodWords()

จะเป็นการค้นหาบล็อกที่มีลักษณะดังนี้:

-*-SpellGoodWordsStart-*-
word1 word2 word3
word4 word5 ...
-*-SpellGoodWordsEnd-*-

และแต่ละคำที่พบ - ในกรณีนี้, word1, word2, word3, word4และword5--within บล็อกมันจะเพิ่มชั่วคราวรายการคำดี

เพิ่งทราบว่าฉันไม่ได้ทดสอบความเครียดนี้


นี่เป็นเชิงลึกมากกว่าที่ฉันคาดไว้และมันจะทำให้เป็นกลุ่มที่มีประโยชน์มากสคริปต์ ฉันตรวจสอบ vim.org แล้ว แต่ไม่มีการแข่งขันใด ๆ ที่คล้ายกัน ขอบคุณ!
Charles Maresh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.