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 .emacs
iç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.d
dizinde 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 RET
Kontrol 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 ~/.emacs
Dosyayı 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.el
dosyanı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.el
Dosyanı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.el
yü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-name
Aş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.el
dosyayı %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
ve ç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/*.el
Bunun 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 HOME
ortam 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.el
değ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\Roaming
kabul edilebilir olabilirdi, ancak bazı uygulamalar kullandığından %USERPROFILE%
, bazıları kullandığından %USERPROFILE\AppData\Roaming
ve 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-file
değ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.
HOME
Nası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, HOME
olarak ayarlanır C:\Documents and Settings\username
, ancak Başlat Menüsünden başlatırsam, HOME
olur 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 .emacs
dosya bu klasörde olmalıdır.
aksi takdirde, içinde olmalıdır c:\
.
Her iki durumda da, .emacs
orada değil, _emacs
kullanı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).