Yanıtlar:
Emacs SSS http://www.gnu.org/software/emacs/windows/ adresinden kopyalanıp yapıştırılmıştır :
Windows'ta dosya, dosya adlarının nokta ile başlayamadığı DOS ve FAT dosya sistemleriyle geriye dönük uyumluluk .emacsiçin çağrılabilir _emacs. Bazı kullanıcılar böyle bir adı kullanmaya devam etmeyi tercih eder, çünkü Windows Gezgini, dosya sistemi ve diğer birçok programın üstesinden gelebilse de, bir noktayla başlayan bir adla dosya oluşturamaz. Emacs 22 ve sonrasında, init dosyası da çağrılabilir .emacs.d/init.el. Lisp paketleri tarafından oluşturulan diğer dosyaların çoğu artık .emacs.ddizinde de saklanmaktadır , bu nedenle bu Emacs ile ilgili tüm dosyalarınızı tek bir yerde tutar.
Yukarıda bahsedilen tüm dosyalar HOME dizininize gitmelidir. HOME dizini aşağıdaki adımlar izlenerek belirlenir:
C:\.emacs, kullanın C:/. Bu, C:/HOME ayarlanmadıysa önceki sürümler varsayılan olarak ayarlandığı için geriye dönük uyumluluk içindir .Emacs içinde ~, bir dosya adının başında HOME dizininize genişletilir, böylece .emacs dosyanızı her zaman ile bulabilirsiniz C-x C-f ~/.emacs.
MS-Windows'ta HOME ve Başlangıç Dizinlerinde daha fazla bilgi bulunmaktadır .
Değişken user-init dosyasında saklanmalıdır. C-H v user-init-file RETKontrol etmek için kullanın . Bunu doğrudan kullanarak da açabilirsiniz.M-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression?
Vista kutumda var C:\Users\<USER>\AppData\Roaming\
Ctrl-x Ctrl-f ~/.emacsDosyayı sadece yazmanın ve oluşturmanın yeterli OLMAYACAĞINI unutmayın .
Emacs uygulamanız başlangıç dosyanızı saklamak için farklı bir yer kullanıyor olabilir ve öyleyse, ~ / .emacs dosyasını oluşturmak, Emacs uygulamanızın yoksayacağı işe yaramaz bir dosya oluşturur .
Ayrıca, .emacs init dosyasına erişimden daha fazlasını yapmak isteyebilirsiniz , ancak nerede olduğunu, yani yol adını bilmek isteyebilirsiniz.
Buna ulaşmak için iki yöntem var:
Kolay yol: yazın Ctrl+ H Vkullanıcı-init-dosyasıReturn
Biraz daha karmaşık bir yol: Sisteminizin kendi .emacs dosyasını nerede sakladığını şu şekilde öğrenebilirsiniz:
c:/Users/user1/AppData/Roaming/.emacs.el. Bu site emacswiki.org/emacs/DotEmacsDotD~/.emacs.d/init.el , dosya sistemindeki dosyanın bulunduğu anlamına gelen dosyayı adlandırmam gerektiğini anlamama yardımcı oldu c:\Users\user1\AppData\Roaming\.emacs.d\init.el(hiç beklediğim gibi değil). HOME ortam değişkenini ayarlamayı ve dosyayı %USERPROFILE%Windows'ta mantıksal HOME dizini olan dizinime yerleştirmeyi tercih ederim (en azından ilgilendiğim kadarıyla).
Windows 7'de init.eldosyanızı C:\Users\user-name\AppData\Roaming\.emacs.d\, kullanıcı adının kullanıcı / oturum açma klasörünüz olduğu yere koyun .
init.elDosyanızın adlandırılmaması için dikkatli olun init.el.txt. Dosyanızı Not Defteri gibi bir düzenleyiciyle oluşturursanız bu, Windows'un yaptığı bir şeydir.
Bir emacs başlatma dosyası oluşturmalısınız. Otomatik olarak oluşturulmaz. Benzer bir sorun yaşadım ve bu cevap ne yaptığımı gösteriyor.
Sorunum dosyamın ~/.emacs.elyüklenmemesiydi. Garip çünkü bu her zaman benim için çalıştı.
Bu soru / cevap bana yardımcı oldu, ancak init dosyamı koymak zorunda kaldım %USERPROFILE%\AppData\Roaming\.emacs.d\init.elçünkü görünüşe göre bu Windows'daki varsayılan davranış.
Bu sorunu gidermek için, aşağıdakileri emacs * scratch * arabelleğinde çalıştırdım.
user-emacs-directory
"~/.emacs.d/"
Olduğunu gördüğümde user-emacs-directory, ~/.emacs.d.emacs.el dosyamı %USERPROFILE%\.emacs.d\init.el. Ama bu yine de işe yaramadı. expand-file-nameAşağıda gösterildiği gibi devam ettim :
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
Windows'un çalışma şeklini sevmelisiniz. (değil) Yani benim taşındı emacs.eldosyayı %USERPROFILE%\AppData\Roaming\.emacs.d\init.elve çalıştığı bu. Dosya şimdi okunuyordu. Ancak başka hatalar aldım çünkü başlatma dosyam diğer (kişisel emacs) dosyaları ( ~/myenv/emacs/*.el.
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
Hum ... ~/myenv/emacs/*.elBunun işe yaraması için tüm dosyalarımın taşınması gerekiyor gibi görünüyor ama ben bunu yapmak istemedim. Sonra ANA ortam değişkeni ayarlanmadığı için emacs'in varsayılan davranışını gerçekleştirdiğini fark ettim .
ÇÖZÜM
Windows HOMEortam değişkenimi ayarladığımda , %USERPROFILE%her şey son 25 yıldır olduğu gibi çalışmaya başladı. :-)
HOME ortam değişkenini ayarlamak için, Ortam Değişkenleri iletişim kutusunu açmak için WindowsKey + "hesabınız için ortam değişkenlerini düzenle" yazdım ve girdim HOME=%USERPROFILE%.
Şimdi emacs başlatma dosyam .emacs.el doğru yerine geri döndü, şurada $HOME/.emacs.eldeğil%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
Adil olmak gerekirse, Windows'un kullanıcı tarafından yüklenen paketler için dosya koymak için tek bir yeri olsaydı, HOME = yapma çözümü %USERPROFILE\AppData\Roamingkabul edilebilir olabilirdi, ancak bazı uygulamalar kullandığından %USERPROFILE%, bazıları kullandığından %USERPROFILE\AppData\Roamingve diğerleri kullandığından %USERPROFILE\AppData\Local, yapılandırmanızı nerede bulacağınızı bilmeyi zorlaştırır. Dosyalar.
Her şeyin% USERPROFILE% veya $ HOME dizinimde olmasını tercih ederim.
Bir başka benzer soru da buradaydı:
Kanja'nın yanıtladığı gibi, bu dosyanın yolu user-init-filedeğişkende saklanır (veya başlangıç dosyası yoksa, değişken nerede oluşturulacağına ilişkin varsayılan değeri içerir).
Yani ne olursa olsun , kullandığınız olası init dosya adlarının hangi ve hangi içinde bulunduğu dizin olarak, birlikte İnit dosyasını ziyaret gerekir:
M-: (find-file user-init-file) RET
Veya yankı alanında tam yolunu şu şekilde görüntüleyin:
M-: (expand-file-name user-init-file) RET
Emacs 23 ve Windows 7'de yalnızca şunları ayarlarsanız çalışır:
HKCU\SOFTWARE\GNU\Emacs\HOME
Emacs 22'nin XP makinemde ara sıra "C: \ Documents and Settings \ kullanıcıadı \ Uygulama Verileri \ .emacs" veya sadece "C: \ Documents and Settings \ kullanıcıadı \ .emacs" ı açacağını buldum. Neden ara sıra fikrini değiştirdiğine dair bir açıklama bulamadım.
~ her zaman mevcut emacs örneğinin HOME olduğunu düşündüğü şeyi gösterir, ancak kanja'nın ipucu (Ch v user-init-file) size her zaman ~ / .emacs'in gerçekte neyle eşleştiğini söyleyecektir.
HOMENasıl başladığıma bağlı olarak Windows'un ortam değişkenini farklı şekilde ayarlayacağını şimdi fark ettim runemacs.exe. Explorer içinden başlatırsam, HOMEolarak ayarlanır C:\Documents and Settings\username, ancak Başlat Menüsünden başlatırsam, HOMEolur C:\Documents and Settings\username\Application Data. Garip.
Windows XP'de:
C:\Documents and Settings\yourusernamehere\Application Data\
Windows sürümünüze ve ek bilgilere dayalı bir dizin listesi vardır: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
Windows 8.1'de Emacs, Windows Gezgini'nden , bir kısayoldan veya cmd konsolundan başlatılırsa C: \ Users \ <USER> \ AppData \ Roaming.emacs başlatma dosyasını kullanır. Emacs'i PowerShell'den başlattığımda, Emacs init dosyasını C: \ Users \ <USER> klasöründe arar . Bu sorunun düzeltilmesi, HOME kullanıcı ortamı değişkenini (Denetim Masası \ Sistem ve Güvenlik \ Sistem-> Gelişmiş sistem ayarları-> Gelişmiş-> Ortam değişkenleri) C: \ Users \ <USER> olarak ayarlamaktı . Bu değişiklikten sonra, Emacs'ı nasıl başlatırsam olayım, aynı init dosyasını kullanıyor (bu sorunun kabul edilen cevabına bakın )
WIndows7 & Emacs26.3 için :
eğer HOMEçevre ayarlanır, daha sonra .emacsdosya bu klasörde olmalıdır.
aksi takdirde, içinde olmalıdır c:\.
Her iki durumda da, .emacsorada değil, _emacskullanılmalıdır.
Bunun nedeni .emacs, Windows dosya adlandırma kurallarına göre dosya oluşturamayacağımızdır . (Ancak dosyayı başka bir yerden indirebilir veya kopyalayabiliriz).