Emacs'de varsayılan klasörü değiştirme


107

Emacs'ta oldukça yeniyim ve C-x C-fbaşlangıçta varsayılan klasörü nasıl değiştireceğimi bulmaya çalışıyorum . Örneğin Emacs'i ilk yüklediğimde ve C-x C-fvarsayılan klasörüne tıkladığımda C:\emacs\emacs-21.3\bin, ancak masaüstü olmasını tercih ederim. Bunu .emacsyapmak için dosyayı özelleştirmenin bir yolu olduğuna inanıyorum , ancak bunun ne olduğundan hala emin değilim.

Güncelleme: Çalıştığını bulduğum sorunun üç çözümü var, ancak 3. çözümün yalnızca Windows olduğuna inanıyorum.

  • Çözüm 1: Ekleme (cd "C:/Users/Name/Desktop")için .emacsdosyanın

  • Çözüm 2: Ekleme (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")için .emacsdosyanın

  • Çözüm 3: Emacs kısayoluna sağ tıklayın, özelliklere basın ve başlangıç ​​alanını istenen dizine değiştirin.

Yanıtlar:


84

Bunu söylemediniz, ancak Emacs'i bir Windows kısayolundan başlatıyorsunuz gibi görünüyor.

Cx cf ile gördüğünüz dizin cwd'dir, Emacs terimiyle default-directory(a değişkeni).

Emacs'i bir MS Windows kısayolu kullanarak başlattığınızda default-directory, başlangıçta kısayol özelliklerinin "Başlama Yeri" alanında belirtilen klasördür (dizin). Kısayola sağ tıklayın, Propertiesmasaüstünüzün yolunu seçin ve Start Inalana yazın.

Emacs'i komut satırından kullanıyorsanız default-directory, Emacs'i başlattığınız dizin (cwd) olarak başlar.

Bu yaklaşım, .emacs dosyanızı düzenlemekten daha iyidir, çünkü birden fazla başlangıç ​​dizini ile birden fazla kısayola sahip olmanıza izin verir ve ihtiyacınız olduğunda Emacs'in normal komut satırı davranışına sahip olmanızı sağlar.

CWD = mevcut çalışma dizini = PWD = mevcut çalışma dizini . Bir GUI'den çok komut satırında daha mantıklı geliyor.


Evet, pencerelerde emac kullanıyorum.
Anton

5
Bu, MacOS'ta da çalışır. Bunu (setq default-directory (concat (getenv "HOME") "/"))
.emac'lerime ekledim

Ve Emacs'ın o dizinin Dired içinde başlamasını istiyorsanız, Start Inalana koymanın yanı sıra Target, çift tırnak ( ") arasına alarak bir veya daha fazla boşluktan sonra onu alanın sonuna ekleyin . Ör: "d:\path\to\the\folder".
Drew

49

Emacs dosyanıza eklemeniz gereken satır şu:

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

Açık bir dosyanız olmadıkça, Emacs masaüstünüzde bu şekilde başlayacaktır. Aksi takdirde, genellikle mevcut arabelleğinizdeki dosyayla aynı dizinde başlar.


26

'Cd' emacs komutunu yazabilirsiniz. (Mx cd) varsayılan klasörü tek seferlik olarak değiştirmek için.


24

Koydum

(cd "c:/cvsroot/")

emac'lerimde ve işi yaptı


6

Varsayılan klasör aslında arabellek için geçerli çalışma klasörüyle aynıdır, yani çalıştığınız her dosya için farklı olabilir. Üzerinde çalıştığınız dosyanın içinde bulunduğunu varsayalım C:\dir_a, o zaman bu arabellek için çalışma dizini varsayılan olarak olacaktır C:\dir_a. Bunu ile değiştirebilir M-x cdve bunun yerine varsayılan olmasını istediğiniz dizini yazabilirsiniz (ve varsayılan olarak, yaptığınızda görünecek olanı kastediyorum C-x C-f).

Bir dosyayı açmadan emacs'i başlatırsanız, sonunda *scratch*arabellek açık olur. Emacs'i bir Windows kısayolundan başlattıysanız, çalışma dizini kısayol özelliklerinde belirtilenle aynı olacaktır. Komut satırından başlattıysanız, başlattığınız dizin olacaktır. Bu varsayılan dizini ile yine M-x cdde *scratch*tampondan değiştirebilirsiniz.

Son olarak, Vadim'in önerdiği ve

(cd "c:/dir_a/")

senin de .emacsdosyaya olursa olsun emacs'ı başlamak nasıl dizini varsayılan yapmak için.


4

Windows'ta olduğunuz için bunu bir kısayol ile yapabilirsiniz.

İçin bir kısayol oluşturun C:\emacs\emacs-21.3\bin\runemacs.exe. Kısayolun özelliklerini düzenleyin ve Start In:varsayılan dizininizin olmasını istediğiniz değeri değiştirin .


4

Windows XP altında emacs 22.2.1 kullanıyorum ve yukarıdaki yanıtlardan Cx Cf komutuna istediğim mini arabellekte yanıt almak için yardımcı oldum. Başlangıçta Anton gibi "Dosya bul: C: \ Program Files \ emacs \ bin /" alıyordum. HOME'u "C: \ Belgeler ve ayarlar \ KULLANICI ADI \ Belgelerim" olarak ayarladım. Mini arabellekte istediğim Cx Cf'ye yanıt "Dosya bul: ~ /". .Emacs dosyama (setq default-directory "C: / Documents and Settings / USER NAME / My Documents") ekleyerek "Dosya bul: C: \ Belgeler ve ayarlar \ KULLANICI ADI \ Belgelerim" yanıtını alabildim / ", işlevsel olarak" Dosya bul: ~ / "ile aynıdır. Ancak bir noktayı daha fark ettim. "Seçenekler" altındaki "Emac'leri Özelleştir", başlangıç ​​ekranını engellememe izin verdi. Şimdi emac'leri açtığımda hemen kazıma arabelleğine gidiyorum. Karalama arabelleğine Cx Cf yazdığımda tam olarak istediğim yanıtı alıyorum.


Başlangıç ​​ekranının engellenmesinden bahsetmek için +1. Bunu Windows 10 sistemimde anahtar buldum. Cevabımı ilgili soru stackoverflow.com/a/38435697/823636
Rob_before_edits

1

Kısayoluma (Gnome, Linux'ta) boş bir kukla dosya adı olan bir programlayıcı ekledim ve dizini belirledim. Emac'lerim varsayılan olarak "ev" olarak ayarlandığından, basitçe şunu söylüyorum:

/ Masaüstü / blank_file

ve bu, "blank_file" adlı bir dosyayı açar

Bu aynı zamanda o emacs oturumu için geçerli çalışma dizinini masaüstüne taşır.

Eğer "blank_file" dosyasına bir şeyler koyarsam, sonra onu kaydedersem, elbette, o şeyleri kaydettim. Bu bir can sıkıntısı olabilir veya buna bağlı olarak iyi bir şey olabilir!


1

Varsayılan dizini Dired'de MASAÜSTÜ olarak değiştirmek için ve kabuk bunu ~ / .emacs:

;; Bu, Windows XP için çalışır.
(setq varsayılan-dizin (concat "C: \ Documents and Settings \ MY_ACCOUNT \ MASAÜSTÜ \"))


0

Windows 8'de, Masaüstünde bir kısayol oluşturmaya ve kısayol için 'Başlatma:' özelliğini değiştirmeye çalışır.

Şimdi, önerildiği gibi emacs-23.3 \ bin \ addpm.exe programını çalıştırdım ve Windows-8 ekranı (Microsoft'un bu korkunç icadı) Emacs'a bir simge bağlantısı belirdi. Ama orada tekrar 'Başla' özelliğini değiştirmeniz gerekiyor. (Masaüstündekinden farklıdır). Sadece sağ tıklayın, alttaki çubukta 'Dosya konumunu aç'ı seçin (veya benzeri, benim dilimde yaptım) ve yeni bir kısayolla klasöre yönlendirilirsiniz, burada ayrıca değiştirebileceğiniz (zorunlu) özelliği 'Başlama Yeri:'.

Biraz karmaşık, ama aslında çok kolay.


0

En can sıkıcı şey, Windows'a sahip olmak olduğundan, sadece kısayolu kullanırken Emacs sizi system32'ye atıyor, ancak diğer her durumun çalışmasını istiyorsanız, sadece biraz elisp kullanın ...

(ne zaman (string <"C: \ WINDOWS \ system32" varsayılan-dizin) (setq varsayılan-dizini "~ /"))

Bu nedenle, sisteme girdiğinizde yalnızca ana dizininiz için varsayılan olacaktır. Tek dezavantajı, gerçekten system32'de emacs başlatmak istiyorsanız ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.