คำถามติดแท็ก buffer-local

1
`setq-local 'ทำอะไรและฉันควรใช้เมื่อใด
ฉันไม่ชัดเจนเกี่ยวกับรูปแบบทั้งหมดของตัวแปรบัฟเฟอร์ภายในแม้ว่าหลังจากอ่านเอกสารทั้งหมดและการโพสต์มากมายที่นี่ใน SX นี่คือบทสรุปของความเข้าใจของฉัน: (defvar foo ..)ประกาศตัวแปรแบบไดนามิกสำหรับไฟล์ แต่ตัวแปรคือ (1) ไม่รู้จักไฟล์อื่นนอกจากว่าพวกเขาจะมีdefvar คำสั่งเช่นกันและ (2) ตัวแปรนั้นเป็นโกลบอลในขอบเขตไม่ใช่บัฟเฟอร์ในเครื่อง (make-variable-buffer-local foo)หลังจากที่defvarด้านบนบอกคอมไพเลอร์และทุกคนอื่นว่าตัวแปร foo นั้นจะได้รับการปฏิบัติเสมือนบัฟเฟอร์ในทุก ๆ ที่มันถูกตั้งค่าเมื่อมันถูกตั้งค่า ดังนั้นรูปแบบนี้เป็นรูปแบบที่ดีสำหรับการประกาศตัวแปรบัฟเฟอร์ในเครื่องโดยวางทั้งสองข้อความกลับไปด้านหลัง (defvar xxx ...) ;declare xxx with global scope (make-variable-buffer-local 'xxx) ;but now make it buffer-local everywhere เพื่อความสะดวก(defvar-local xxx ...)แบบฟอร์มสามารถใช้เป็นหนึ่งบรรทัดแทนที่สองบรรทัดด้านบน: (defvar-local xxx ...) ;make xxx buffer local everywhere เมื่อประกาศไว้ข้างต้นตัวแปร xxx สามารถใช้เหมือนกับตัวแปรอื่น ๆ …

1
ทำเครื่องหมายตัวแปรโลคัลที่ปลอดภัยสำหรับค่าใด ๆ
ตัวแปรsafe-local-variable-valuesสามารถเก็บคู่ชื่อ / ค่าที่ปลอดภัยเหมือน file-local หรือ directory-local อย่างไรก็ตามบางครั้งฉันต้องการที่จะบอกว่าค่าใด ๆ ที่ถูกต้องสำหรับตัวแปรที่กำหนด หน้าคู่มือฉันเชื่อมโยงกับบอกว่าค่าจำนวนเต็มใด ๆ fill-columnที่ถือว่าปลอดภัยสำหรับ มีวิธีทำเช่นนี้สำหรับตัวแปรของฉันเองหรือไม่?

1
ทำให้ตัวแปรบัฟเฟอร์ท้องถิ่นกลายเป็นส่วนกลางอีกครั้ง
ฉันกำลังทดลองกับตัวแปรท้องถิ่นและตั้งค่า: (defvar-local foo nil "Buffer local foo") ภายหลังฉันออกแบบโปรแกรมของฉันใหม่เพื่อใช้ตัวแปรทั่วโลกแทนการใช้: (defvar foo nil "Not buffer local foo") แต่ตัวแปรยังคงเป็นบัฟเฟอร์ในเครื่องและยัง(kill-local-variable 'foo)ไม่ได้ฆ่า โดยทั่วไปฉันจะ "ยกเลิก" ได้make-local-variableอย่างไร

2
วิธียังคงมีตัวบ่งชี้ความชั่วร้าย
ฉันต้องการที่จะสามารถบันทึกบัฟเฟอร์เครื่องหมายความชั่วร้ายในพื้นที่ของฉัน (m เพื่อทำเครื่องหมายตำแหน่งแล้ว 'หรือ `เพื่อข้ามไปยังตำแหน่งนั้น) ข้ามเซสชัน / อินสแตนซ์ของ emacs ฉันไม่แน่ใจจริงๆว่าจะทำอย่างไร ฉันพยายามติดตั้ง / ใช้งานเซสชันและเพิ่มเข้าไปเช่น: (add-to-list 'session-locals-include 'evil-markers-alist) สิ่งนี้ไม่ได้ผลและฉันไม่แน่ใจว่าจะลองอะไรอีก ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.