$ grep "'" /usr/share/dict/words | wc -l
26226
$ grep -i python /usr/share/dict/words
Python
Python's
python
python's
pythons
ปัญหาคือว่าคำเหล่านี้ทั้งหมดที่มีเครื่องหมายอะโพสโทรฟีอยู่ในไฟล์พจนานุกรมของคุณ ดังนั้นหากคุณโอเคกับการแก้ไขพจนานุกรมการสะกดคำพูดเหลวไหลของคุณให้ทำดังนี้:
$ grep "'" /usr/share/dict/words | sed "s/'/’/g" >> ~/.vim/spell/en.utf-8.add
นี่จะ
grep
เพื่อค้นหาคำทั้งหมดในพจนานุกรมระบบของคุณที่มีเครื่องหมายอะโพสโทรฟี ( '
);
sed
หากต้องการเปลี่ยนเครื่องหมายคำพูดแบบตรงเป็นเครื่องหมายคำพูดอัจฉริยะ (นั่นคือs/'/’/g
โดยที่เครื่องหมายคำพูดแรกตรงและตัวที่สองคือคำพูดอัจฉริยะ); และ
- ผนวกเข้ากับพจนานุกรมภาษาของคุณ (แทนที่ด้วยภาษาของคุณ)
คุณจะต้องคอมไพล์.spl
ไฟล์นี้ใหม่เป็นไฟล์ซึ่งคุณสามารถทำได้จาก Vim:
:mkspell! ~/.vim/spell/en.utf-8.add
หากคุณต้องการใช้ไฟล์สะกดที่แท้จริงที่ Vim ใช้เป็นจุดเริ่มต้น (แทนที่จะเป็นพจนานุกรมระบบของคุณ) คุณสามารถใช้:spelldump
คำสั่งได้ เอาท์พุทจะรวมทุกคำที่เป็นกลุ่มสำหรับใช้ในปัจจุบันspelllang
, รวมทั้งผู้ที่ได้เพิ่มจาก.add
ไฟล์ บันทึกผลลัพธ์ของ:spelldump
ไปยังไฟล์และลบสองบรรทัดแรก (ข้อมูลส่วนหัว) จากนั้นใช้คำสั่งเดียวกับข้างต้น คุณอาจต้องการไปป์ไลน์ด้วยuniq
เช่นกันเพื่อลบรายการที่ซ้ำกัน (ไม่จำเป็นต้องsort
มีเอาต์พุตของ:spelldump
เรียงลำดับแล้ว)
's
เป็นลวดลาย ไม่เพียงค้นหาที่'
ถูกต้องเช่นกันใช่มั้ย นี้จะคิดถึงคำที่มี'
อยู่ในสถานที่ที่แตกต่างกัน (เช่นyou'd
,you've
ฯลฯ )