emacs พฤติกรรมการทำให้สมบูรณ์อัตโนมัติโดยมีขีดล่างในโหมด Python


3

ในฉัน.emacsฉันมีบรรทัดของรหัสต่อไปนี้:

(modify-syntax-entry ?_ "." python-mode-syntax-table)

นี่คือคำสั่งที่ชอบforward-wordและbackward-kill-wordหยุดที่ขีดล่างใด ๆ ที่อยู่ในคำ นี่คือพฤติกรรมที่แตกต่างจากค่าเริ่มต้นและเป็นพฤติกรรมที่ฉันต้องการ ปัญหาคือว่าจากนั้นauto-complete-modeก็เคารพขีดเส้นใต้เป็นขอบเขตของคำในวิธีที่ไม่พึงประสงค์ ตัวอย่างเช่นถ้าฉันมีตัวแปรที่เรียกว่าfoo_varและผมพิมพ์foแล้วพยายามที่จะเสร็จก็จะสมบูรณ์ไปไม่ได้ foofoo_var

ในtext-modeและc-modeพฤติกรรมเป็นสิ่งที่ฉันต้องการคือการเคลื่อนไหวเป็นไปตามขีดล่าง แต่auto-complete-modeจะเสร็จสมบูรณ์ในพวกเขา ฉันต้องเปลี่ยนอะไรในauto-complete-modeการกำหนดค่าเพื่อแก้ไขใน Python

คำตอบ:


1

ฉันจัดการเพื่อแก้ไขปัญหาของฉัน ฉันทำตารางไวยากรณ์ต่างกันสำหรับทั้งสองpython-modeและc-mode(โดยใช้C-h s) ฉันสังเกตเห็นว่าในc-modeเครื่องหมายขีดล่างคืออักขระสัญลักษณ์ ("_") และในpython-modeเครื่องหมายขีดล่างคืออักขระเครื่องหมายวรรคตอน (".") ดังนั้นฉันเพียงแค่เปลี่ยนบรรทัดของรหัสดังกล่าวเป็น

(modify-syntax-entry ?_ "_" python-mode-syntax-table)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.