Yanıtlar:
Emacs, kılavuzda belirtildiği gibi init dosyalarını aradığı birkaç yere sahiptir . Emacs'ı özelleştirmek istiyorsanız, bu dosyalardan biriyle başlamalısınız.
Yaygın bir yaklaşım, HOME dizininizde bir yerine, init.el
kendi dosyasında kullanmaktır .user-emacs-directory
.emacs
user-emacs-directory
Varsayılan ~/.emacs.d
, bu yüzden hala HOME görecelidir, ancak bu yöntemin avantajı, tek bir yerde Emacs yapılandırma ile ilgili her şeyi tutabilir olduğunu. Bu dizin sürüm kontrolü altında olabilir, yedeklenebilir, birden çok makinede paylaşılabilir, vb mklink
. Dosyaları başka bir konumda tutmak için bir sembolik ( Windows'ta) kullanabilirsiniz.
Örneğin, insanların Gacub'daki Emacs yapılandırmasını sürdürdüklerini görmek oldukça yaygındır. İnit.el dosyaları olan elisp projeleri için Github'da arama yaparak bunun birçok örneğini bulabilirsiniz .
user-emacs-directory
Emacs kullandığım her Windows yüklemesinde .emacs
, listelenen konumdaki bir dosyada aşağıdaki kod var :
;; Place this file in C:\Users\Username\AppData\Roaming and point to the appropriate files
(setq user-init-file "C:/path/to/.emacs")
(setq user-emacs-directory "C:/path/to/.emacs.d/")
(setq default-directory "C:/whatever/you/want/to/start/in")
(setenv "HOME" "D:/my/home/directory")
(load user-init-file)
Bu şekilde kendimi .emacs
ve .emacs.d/
istediğim her yere koyabilirim .
.Emacs dosyanız HOME
dizininize girer . Gönderen Emacs kılavuzda:
HOME'un Windows eşdeğeri, kullanıcıya özgü uygulama veri dizinidir. Gerçek konum Windows sürümüne bağlıdır ...
HOME ortam değişkenini açıkça sisteminizdeki herhangi bir dizine işaret edecek şekilde ayarlayarak HOME'un bu varsayılan değerini geçersiz kılabilirsiniz. HOME, komut kabuğu isteminden veya 'Bilgisayarım'ın' Özellikler 'iletişim kutusundan ayarlanabilir. HOME ayrıca sistem kayıt defterinde ayarlanabilir, bkz. MS-Windows Kayıt Defteri.
HOME
dizininizi normalde düşündüğünüz şeyi çılgınca farklı bir şeye dönüştürmektir. Bu yüzden neden bu değişikliği bir hack olarak adlandırıyorum. Uygun değerine ayarlamak açıktır.
Diyorsun:
Nasıl ev dizini ayarlamak sürüm denetim nedenleriyle biliyorum (böylece emacs için özel bir dizin olabilir) farklı bir dizinden okumak için emacs ayarlamak mümkün istiyorum .
İnit dosyanız herhangi bir yere koyabileceğiniz ana dizininize gider. Görünüşe göre Emacs'ın yüklediği şeyler için farklı bir dizine sahip olmak istiyorsunuz. Problem değil. İnit dosyanızı ana dizininize koyun ve bu dosyanın değişken değerine başka bir dizin eklemesini load-path
ve ardından kullanmak istediğiniz diğer Emacs kitaplıklarını gerektirmesini sağlayın . Bu kütüphaneleri diğer dizine koyun.
IOW, init dosyanızın yüklemek istediğiniz Emacs kitaplıklarını sakladığınız dizinin kurulumunun ötesinde hiçbir şey içermesi gerekmez.
Sadece bütünlük uğruna, şu bağlantıyı sağlarım:
https://www.gnu.org/software/emacs/manual/html_node/efaq-w32/Location-of-init-file.html
Bu HOME
, kayıt defteri yolunda bir değer ayarlayabileceğinizi söyler :
HKCU\SOFTWARE\GNU\Emacs\HOME
Ancak bu değer ortam değişkeni tarafından geçersiz kılınır HOME
.
Eğer almayı düşünecek (setq user-init-file "C:/path/to/.emacs")
ve @ryan önerdiği diğer hatlar içerisine site start.el
Sitenizde bir site başlangıç dosyası da olabilir; buna site-start.el adı verilir. Default.el gibi Emacs da bu dosyayı Lisp kütüphaneleri için standart arama yolu üzerinden bulur. Emacs, init dosyanızı yüklemeden önce bu kitaplığı yükler.
site-start.el
yüklemek gibi bir şeyi kullanarak tam kontrolü ele alabilirsinizinit.el
ve artık ihtiyacınız kalmaz a.emacs
. Bu örnekte, giriş dizini ile uğraşmanıza gerek yoktur (bilgisayarda başka biri, yaptığınız işi etkileyecek şeyler koymuyorsa). Başka bir deyişle, boş olabilir ve asla dokunmanıza gerek yoktur.