Başlangıçta varsayılan pencereler nasıl kurulur?


18

Emacs'ı her açtığımda C-x 3( split-window-right) ve sonra C-x2( split-window-below) yaparak 3 pencere kurma eğilimindeyim . Bundan sonra, düzenlemek istediğim dosyaları açmak için her pencereye geçmem gerekiyor.

Bunu otomatik olarak yapılacak şekilde nasıl ayarlayabilirim?

Emacs'ın aynı ekran organizasyonunu (pencereler ve dosyalar) son kullanımdan kurtarmasının bir yolu var mı?

Yanıtlar:


13

Emacs 24.4'ten bu yana masaüstü kaydetme modunu kullanabilirsiniz . Yaşlar boyunca Emacs'ın bir parçasıydı, ancak pencere düzeni sadece 24.4 sürümünden beri kaydedildi ve geri yüklendi.

Bu satırı init dosyanıza eklemeniz yeterlidir:

(desktop-save-mode 1)

3
Bu, önceki oturumdaki dosyaları geri yükler, ancak pencere düzenini geri yüklemez.
itsjeyd

1
Hayır, test ettim. Emacs Manual : Emacs masaüstünü kaydettikten sonra - arabellekler, dosya adları, ana modlar, arabellek konumları vb. - daha sonra Emacs oturumları kaydedilen masaüstünü yeniden yükler .
Sviridov Alexander

3
"Tampon pozisyonu" belirli bir tampondaki nokta pozisyonunu (imleç) ifade eder . Evet, bu ile geri yüklenecek desktop-save-mode. Pencere düzeni, şu anda kaç pencere görüntülendiğini ve nasıl konumlandığını ifade eder. desktop-save-modebu düzeni korumaz.
itsjeyd

3
Evet, "pencere düzeni" ve "arabellek konumu" farklı şeylerdir, haklısınız. Ancak pencere düzenim geri yüklendi. Görünüşe göre emacs-snapshot'a pencere düzeninin kaydedilmesi eklendi.
Sviridov Alexander

1
@pors, terminal modunda Emacs (24.4 veya üstü) kullanıyorsanız durum böyle değil. Hiçbir pencere yapılandırması kaydedilmez / geri yüklenmez.
skyork

7

init dosyanızda buna yakın bir işlev yazın, muhtemelen ihtiyaçlarınıza uyacak şekilde biraz değiştirmeniz gerekecektir:

;; layout definition
(defun my-startup-layout ()
 (interactive)
 (delete-other-windows)
 (split-window-horizontally) ;; -> |
 (next-multiframe-window)
 (find-file "~/.emacs.d/init.el")
 (split-window-vertically) ;;  -> --
 (next-multiframe-window)
 (find-file "~/.emacs.d/init_settings.el")
 (next-multiframe-window)
 (dired "~")
)

;; execute the layout
(my-startup-layout )

Emacs'ın aynı ekran organizasyonunu (pencereler ve dosyalar) son kullanımdan kurtarmasının bir yolu var mı?

Düzen paketine bir göz atmalısınız


6

workgroups2Masaüstünüzü yönetmek için kullanabilirsiniz . GitHub'daki README'den:

Workgroups, Emacs için bir oturum yöneticisidir.

  • Daha sonra geri yüklemek için tüm açık arabelleklerinizi, konumlarını ve boyutlarını disk üzerine kaydeder
  • Birkaç çalışma alanı oluşturabilirsiniz

Ayrıca şu gibi arabellekleri geri yükleyebilirsiniz: org-ajanda, kabuk, magit-status, yardım.

Eğer varsa MELPA deposu etkin, sen aracılığıyla bu paketi kurabilirsiniz M-x package-install RET workgroups2 RET.

Temel kurulum:

(require 'workgroups2)
(workgroups-mode 1) ; This should go at the end of your init file

Bu kodu init dosyanıza ekledikten sonra Emacs'ı ilk kez başlattığınızda, sizin için workgroups2otomatik olarak bir çalışma grubu oluşturur. *Messages*Aşağıdaki bilgiler için arabelleği kontrol ederek bunun başarılı olduğunu doğrulayabilirsiniz :

Workgroups Mode: on
Switched: First workgroup
Created: First workgroup  ( -<{ 0: First workgroup }>- )

Bu noktadan sonra, Emacs pencerelerin ve dosyaların mevcut yapılandırmasını çıkışta otomatik olarak kaydedecek ve bir dahaki sefer başladığında geri yükleyecektir.


2

Sanityinc'in .emacs.d modelinden sonra modellenmiş bir şey kullanıyorum . Bu kullanır desktop-save-modeve aynı zamanda kullanımı akıllı yeterlidir frame-restoreeski sürümleri emacs'dan üzerinde. İçin benioku frame-restoredosyasından package-list-packages:

Emacs çerçevelerinin parametrelerini kaydedin ve geri yükleyin.

Sadece frame-restore' in yourinit.el'i arayın :

(Çerçeve-geri-mod)

R113242'den beri yerleşik Masaüstü Kaydetme modunun çerçeveleri geri yükleyeceğini unutmayın. Bu düzeltmeden sonra bir Emacs anlık görüntü derlemesi kullanıyorsanız, bunun yerine Masaüstü Kaydetme modunu kullanmanız önemle tavsiye edilir:

(Masaüstü-save-mode)

Masaüstü Kaydetme modu çerçeveleri geri yükleyebilen bir Emacs derlemesinde etkinleştirilirse Çerçeve Geri Yükleme modu kalın bir uyarı görüntüler.

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.