ฉันพยายามมองหาไฟล์. emacs สำหรับการติดตั้ง Windows สำหรับ Emacs แต่ไม่พบ มันมีชื่อไฟล์เดียวกันใน Windows เหมือนกับใน Unix หรือไม่?
ฉันต้องสร้างมันขึ้นมาเอง? ถ้าใช่มันไปอยู่ภายใต้ไดเรกทอรีใด?
ฉันพยายามมองหาไฟล์. emacs สำหรับการติดตั้ง Windows สำหรับ Emacs แต่ไม่พบ มันมีชื่อไฟล์เดียวกันใน Windows เหมือนกับใน Unix หรือไม่?
ฉันต้องสร้างมันขึ้นมาเอง? ถ้าใช่มันไปอยู่ภายใต้ไดเรกทอรีใด?
คำตอบ:
คัดลอกและวางจากคำถามที่พบบ่อยของ Emacs http://www.gnu.org/software/emacs/windows/ :
ใน Windows .emacs
ไฟล์อาจถูกเรียก_emacs
ให้เข้ากันได้กับระบบไฟล์ DOS และ FAT แบบย้อนหลังโดยที่ชื่อไฟล์ไม่สามารถขึ้นต้นด้วยจุด ผู้ใช้บางรายต้องการใช้ชื่อดังกล่าวต่อไปเนื่องจาก Windows Explorer ไม่สามารถสร้างไฟล์ที่มีชื่อขึ้นต้นด้วยจุดแม้ว่าระบบไฟล์และโปรแกรมอื่น ๆ ส่วนใหญ่จะสามารถจัดการได้ก็ตาม ใน Emacs 22 และใหม่กว่าไฟล์ init อาจถูกเรียก.emacs.d/init.el
ด้วย ไฟล์อื่น ๆ จำนวนมากที่สร้างโดยแพ็คเกจ Lisp จะถูกเก็บไว้ใน.emacs.d
ไดเร็กทอรีด้วยดังนั้นสิ่งนี้จึงเก็บไฟล์ที่เกี่ยวข้องกับ Emacs ทั้งหมดไว้ในที่เดียว
ไฟล์ทั้งหมดที่กล่าวถึงข้างต้นควรอยู่ในไดเรกทอรี HOME ของคุณ ไดเรกทอรี HOME ถูกกำหนดโดยทำตามขั้นตอนด้านล่าง:
C:\.emacs
C:/
ใช้สำหรับความเข้ากันได้แบบย้อนหลังเนื่องจากเวอร์ชันก่อนหน้านี้C:/
มีค่าเริ่มต้นหากไม่ได้ตั้งค่า HOMEภายใน Emacs ~
ที่จุดเริ่มต้นของชื่อไฟล์จะถูกขยายไปยังไดเร็กทอรี HOME ของคุณคุณจึงสามารถค้นหาไฟล์. macs ของคุณได้ตลอดเวลาด้วยC-x C-f ~/.emacs
.
มีข้อมูลเพิ่มเติมที่เป็นหน้าแรกและเริ่มต้นไดเรกทอรีบน MS-ของ
ควรเก็บไว้ในตัวแปร user-init-file ใช้C-H v user-init-file RET
ตรวจสอบ. คุณยังสามารถเปิดได้โดยตรงโดยใช้M-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression
?
ในกล่อง Vista ของฉันมีอยู่ C:\Users\<USER>\AppData\Roaming\
โปรดทราบว่าการพิมพ์Ctrl-x Ctrl-f ~/.emacs
และสร้างไฟล์อาจไม่เพียงพอ
อาจเป็นไปได้ว่าแอปพลิเคชัน Emacs ของคุณใช้ที่อื่นในการจัดเก็บไฟล์ init ของคุณและหากเป็นเช่นนั้นการสร้างไฟล์ ~ / .emacs จะสร้างไฟล์ที่ไร้ประโยชน์ซึ่งแอปพลิเคชัน Emacs ของคุณเพิกเฉย
นอกจากนี้คุณอาจต้องการทำมากกว่าแค่เข้าถึงไฟล์ init. emacs แต่คุณอาจต้องการทราบว่ามันอยู่ที่ไหนเช่นชื่อพา ธ ของมัน
ในการรับสิ่งนี้มีสองวิธี:
วิธีง่ายๆ: พิมพ์Ctrl+ H Vuser-init-fileReturn
วิธีที่ยุ่งยากกว่าเล็กน้อย: คุณสามารถค้นหาว่าระบบของคุณเก็บไฟล์. macs ของตัวเองไว้ที่ใดโดย:
c:/Users/user1/AppData/Roaming/.emacs.el
. ไซต์นี้emacswiki.org/emacs/DotEmacsDotDช่วยให้ฉันรู้ว่าฉันจำเป็นต้องตั้งชื่อไฟล์~/.emacs.d/init.el
ซึ่งหมายความว่าไฟล์ในระบบไฟล์อยู่ที่c:\Users\user1\AppData\Roaming\.emacs.d\init.el
(ไม่ใช่สิ่งที่ฉันคาดหวัง) ฉันชอบตั้งค่าตัวแปรสภาพแวดล้อม HOME และวางไฟล์ใน%USERPROFILE%
ไดเร็กทอรีของฉันซึ่งเป็นไดเร็กทอรี HOME แบบลอจิคัลบน windows (อย่างน้อยก็เท่าที่ฉันกังวล)
ใน Windows 7 ให้ใส่init.el
ไฟล์ ของคุณC:\Users\user-name\AppData\Roaming\.emacs.d\
โดยที่ชื่อผู้ใช้คือโฟลเดอร์ผู้ใช้ / ล็อกอินของคุณ
ดูแลเพื่อให้คุณไฟล์จะไม่ได้รับการตั้งชื่อinit.el
init.el.txt
นี่คือสิ่งที่ Windows ทำหากคุณสร้างไฟล์ด้วยโปรแกรมแก้ไขบางอย่างเช่น Notepad
ในเวอร์ชันของ Emac บน Windows ที่สูงกว่า 22 ดูเหมือนว่าจะถูกย้ายไปที่
~/.emacs.d/init.el
, ~
เป็นค่าของตัวแปรสภาพแวดล้อมที่บ้านของคุณ (ดูแผงควบคุม→ ระบบ → ขั้นสูง → ตัวแปรสภาพแวดล้อม )
ไฟล์นั้นอาจไม่มีอยู่ ในกรณีนั้นให้สร้างมันขึ้นมา
คุณต้องสร้างไฟล์เริ่มต้น emacs ไม่ได้สร้างขึ้นโดยอัตโนมัติ ฉันมีปัญหาคล้ายกันและคำตอบนี้ติดตามสิ่งที่ฉันทำ
ปัญหาของฉัน~/.emacs.el
คือไฟล์ของฉันไม่ได้โหลด แปลกเพราะสิ่งนี้ใช้ได้ผลกับฉันมาตลอด
คำถาม / คำตอบนี้ช่วยฉันได้ แต่ฉันต้องใส่ไฟล์ init ของฉัน%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
เพราะเห็นได้ชัดว่านี่เป็นพฤติกรรมเริ่มต้นใน Windows
ในการแก้ปัญหานี้ฉันเรียกใช้สิ่งต่อไปนี้ในบัฟเฟอร์ emacs * scratch *
user-emacs-directory
"~/.emacs.d/"
ตอนที่ผมเห็นuser-emacs-directory
ก็คือ~/.emacs.d
ผมก็ย้ายไฟล์ .emacs.el %USERPROFILE%\.emacs.d\init.el
ของฉันไป แต่ยังไม่ได้ผล ฉันพูดต่อexpand-file-name
ตามที่แสดงด้านล่าง:
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
ต้องชอบวิธีการทำงานของ Windows (ไม่) ดังนั้นฉันจึงย้ายemacs.el
ไฟล์ของฉันไปที่%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
และสิ่งนี้ได้ผล ขณะนี้กำลังอ่านไฟล์ แต่ฉันได้รับข้อผิดพลาดอื่น ๆ เนื่องจากไฟล์เริ่มต้นของฉันโหลดไฟล์ (emac ส่วนบุคคล) อื่น ๆ (ใน~/myenv/emacs/*.el
.
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
ฮึ่ม ... ดูเหมือนว่าไฟล์ทั้งหมดของฉัน~/myenv/emacs/*.el
จะต้องถูกย้ายเพื่อให้มันทำงานได้ แต่ฉันไม่ต้องการทำอย่างนั้น แล้วฉันตระหนักว่าเพราะตัวแปรสภาพแวดล้อมที่บ้านก็ไม่ได้ตั้งค่าemacs ได้ดำเนินการการทำงานเริ่มต้นของมัน
สารละลาย
เมื่อฉันตั้งค่าHOME
ตัวแปรสภาพแวดล้อมwindows ของฉัน%USERPROFILE%
ทุกอย่างก็เริ่มทำงานเหมือนเดิมตลอด 25 ปีที่ผ่านมา :-)
การตั้งค่าตัวแปรสภาพแวดล้อมที่บ้านผมพิมพ์ WindowsKey + "ตัวแปรแก้ไขสภาพแวดล้อมสำหรับบัญชีของคุณ" เพื่อเปิดตัวแปรของสภาพแวดล้อมHOME=%USERPROFILE%
กล่องโต้ตอบและเข้า
ตอนนี้ไฟล์เริ่มต้น emacs ของฉัน. emacs.el กลับมาอยู่ในตำแหน่งที่ถูกต้อง$HOME/.emacs.el
และไม่ได้อยู่ใน%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
เพื่อความเป็นธรรมหาก Windows มีเพียงที่เดียวในการวางไฟล์สำหรับแพ็คเกจที่ผู้ใช้ติดตั้งวิธีแก้ปัญหาในการสร้าง HOME = %USERPROFILE\AppData\Roaming
อาจเป็นที่ยอมรับ แต่เนื่องจากบางแอปพลิเคชันใช้การใช้งาน%USERPROFILE%
บางอย่าง%USERPROFILE\AppData\Roaming
และการใช้งานอื่น ๆ%USERPROFILE\AppData\Local
ทำให้ยากที่จะทราบว่าจะหาการกำหนดค่าของคุณได้ที่ไหน ไฟล์
ฉันชอบให้ทุกอย่างอยู่ในไดเรกทอรี% USERPROFILE% หรือ $ HOME
อีกคำถามที่คล้ายกันอยู่ที่นี่:
ตามที่ kanja ตอบพา ธ ไปยังไฟล์นี้จะถูกเก็บไว้ในuser-init-file
ตัวแปร (หรือหากไม่มีไฟล์ init ตัวแปรจะมีค่าดีฟอลต์สำหรับตำแหน่งที่จะสร้าง)
ดังนั้นไม่ว่าคุณจะใช้ชื่อไฟล์ init ใดที่เป็นไปได้และอยู่ในไดเร็กทอรีใดคุณควรจะสามารถเยี่ยมชมไฟล์ init ของคุณด้วย:
M-: (find-file user-init-file)
RET
หรือแสดงเส้นทางแบบเต็มในพื้นที่เสียงสะท้อนด้วย:
M-: (expand-file-name user-init-file)
RET
บน Emacs 23 และ Windows 7 จะใช้งานได้เฉพาะเมื่อคุณตั้งค่า:
HKCU\SOFTWARE\GNU\Emacs\HOME
ฉันพบว่าบางครั้ง Emacs 22 จะเปิด "C: \ Documents and Settings \ username \ Application Data \ .emacs" หรือเพียงแค่ "C: \ Documents and Settings \ username \ .emacs" บนเครื่อง XP ของฉัน ฉันไม่พบคำอธิบายว่าทำไมบางครั้งถึงเปลี่ยนใจ
~ จะชี้ไปที่อินสแตนซ์ปัจจุบันของ emac ที่คิดว่าเป็น HOME เสมอ แต่เคล็ดลับของ kanja (Ch v user-init-file) จะบอกคุณเสมอว่า ~ / .emacs จับคู่กับอะไร
HOME
ตัวแปรสภาพแวดล้อมแตกต่างกันไปขึ้นอยู่กับว่าฉันเริ่มต้นrunemacs.exe
อย่างไร ถ้าผมเริ่มต้นจากภายใน Explorer ให้HOME
มีการตั้งค่าC:\Documents and Settings\username
แต่ถ้าผมเริ่มต้นจากเมนู Start, คือHOME
C:\Documents and Settings\username\Application Data
แปลก.
ใน Windows XP:
C:\Documents and Settings\yourusernamehere\Application Data\
มีรายชื่อไดเรกทอรีตามเวอร์ชัน Windows ของคุณและข้อมูลเพิ่มเติม: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
ใน Windows 8.1 ถ้า Emacs เริ่มต้นจากWindows Explorerทางลัดหรือจากคอนโซลcmdจะใช้C: \ Users \ <USER> \ AppData \ Roaming.emacs init ไฟล์ เมื่อฉันเริ่มต้น Emacs จาก PowerShell ลักษณะ Emacs สำหรับแฟ้ม init ในC: \ Users \ <user>โฟลเดอร์ การแก้ไขปัญหานี้คือการตั้งค่าหน้าแรกตัวแปรสภาพแวดล้อมของผู้ใช้ (Control Panel \ ระบบและความปลอดภัย \ ระบบ> ระบบขั้นสูงการตั้งค่า> Advanced-> ตัวแปรสภาพแวดล้อม) เพื่อC: \ Users \ <ผู้ใช้> หลังจากการเปลี่ยนแปลงนี้ไม่ว่าฉันจะเริ่ม Emacs อย่างไรมันก็ใช้ไฟล์ init เดียวกัน (ดูคำตอบที่ยอมรับของคำถามนี้)
สำหรับ WIndows7 & Emacs26.3:
หากHOME
ตั้งค่าสภาพแวดล้อม.emacs
ไฟล์ควรจะอยู่ในโฟลเดอร์นั้น
มิฉะนั้นควรอยู่ในc:\
.
ในทั้งสองกรณีถ้า.emacs
ไม่มี_emacs
ควรใช้
เนื่องจากเราไม่สามารถสร้าง.emacs
ไฟล์ตามกฎการตั้งชื่อไฟล์ของ windows ได้ (แต่เราสามารถดาวน์โหลดหรือคัดลอกจากที่อื่นได้)