2010-09-25 9 views
15

Ci sono voluti un sacco di tempo per abituarsi a Emacs, ma tutto ciò che voglio da un normale editor come Coda, è semplicemente impossibile senza script aggiuntivi.Ricorda tutti i file aperti con finestre divise e le loro posizioni in Emacs

Voglio ripristinare tutto come prima.

Dividi finestre, la loro posizione, file aperti/shell/debugger. Tutto torna come prima. Coda può fare questo, Eclipse può farlo, tutto può farlo.

Quando ho bisogno di una normale funzionalità per Emacs, ha sempre bisogno di moltissimi script per averlo. Ho pensato che sarei davvero morto con pyflakes, code-color, binding di finestre retraibili e altri 20 script che non ricordo nemmeno ... Perché sono così tante cose elementari non integrate già ???

Qualsiasi buon libro per i principianti?

risposta

3

ho trovato Conveniently save and restore frame configurations, e si potrebbe fare quello che stai cercando.

+0

finalmente qualcosa di utile, grazie per questo link! =) È strano che emacs supporti le schede ma non riesca a mantenere la loro configurazione quando si apre di nuovo l'editor .. – holms

+0

L'ho esaminato di più, e non funziona le sessioni incrociate (alias riavvio di emacs). Invece è possibile utilizzare revive.el da http://www.emacswiki.org/emacs/WindowsMode. Sono stato in grado di usarlo la scorsa notte per salvare configurazioni suddivise per finestre e ripristinarle in seguito, anche dopo un riavvio. Ora quello su cui non sono chiaro è che sembra non ripristinare sempre il contenuto reale del buffer. In particolare, non funziona sempre con i buffer della modalità di navigazione (code.google.com/p/emacs-nav/, file explorer di tipo ide). Forse ho bisogno di scavare di più su http://www.emacswiki.org/emacs/SessionManagement – Pierre

7

Dai un'occhiata sotto "Opzioni"> "Personalizza Emacs".

Sembra che si desidera attivare due caratteristiche:

  • "Salva Place" che salva la posizione in ogni file la prossima volta che lo si carica.
  • "Desktop" che salva tutti i file attualmente caricati.

Oppure, se avete voglia di modifica dei file .emacs:

(custom-set-variables 
    ;; custom-set-variables was added by Custom. 
    ;; If you edit it by hand, you could mess it up, so be careful. 
    ;; Your init file should contain only one such instance. 
    ;; If there is more than one, they won't work right. 
    '(desktop-enable t nil (desktop)) 
    '(save-place t nil (saveplace))) 
+0

questo salverà anche le finestre divise? Ho 3 finestre in genere, in una è la shell in altre due, 2 file aperti. questo salverà anche una posizione di Windows?btw im usando emacs nella shell, – holms

+0

Non credo che salvi le suddivisioni o le posizioni di divisione (non nella mia versione). Non sono sicuro se intendi suddividere il frame visibile in 3 buffer o avviare 3 frame; ma in entrambi i casi AFAIK ricarica solo i file che avevi aperto quando esci e ricorda la posizione di modifica in ciascuno di essi. Quindi dovresti ricomporre e cambiare ogni buffer nel file desiderato. Dovrai riavviare la shell da w/in emacs. – saschwarz

+0

in effetti la domanda era: posso salvare le posizioni di split buffer? posso fare una configurazione o qualcosa del genere? (ogni volta che accedo a emacs, voglio vedere il mio buffer splittato con la mia larghezza e altezza che sono state impostate prima) – holms

2

Non è sicuro se si sta avvicinando a ciò che si vuole, ma fare un tentativo: http://www.emacswiki.org/emacs/LayoutRestore

+1

No, non lo è. Dopo aver smesso di emacs, dopo essermi svegliato al mattino, voglio continuare con lo stesso layout di prima. Stesse sdoppiature, stessi file aperti in loro, stessa larghezza/altezza delle spaccature ... tutto era STESSO com'era prima di uscire da emacs .. Ogni editor ha cose del genere. Odio VIM ma in vim puoi ripristinare tutto come era ... – holms

5

Ho questo lavoro . Emacs si avvia sempre il backup esattamente come ho lasciato, a meno che non si blocca ...:

http://www.gentei.org/~yuuji/software/windows.el

Ciò farà risparmiare tutte le finestre e sputa buffer aperti:

http://www.emacswiki.org/emacs/SavePlace

Thise salverà la inserire nei file. Ecco più o meno come impostare l'alto:

(require 'windows) 
(require 'recentf) 

;; -- Load the saved windows automatically on boot 
(add-hook 'window-setup-hook 'resume-windows) 

;; -- Save place in file 
(setq-default save-place t) 

;; -- Use this command to quit and save your setup 
(define-key ctl-x-map "C" 'see-you-again) 

;; -- Set up window saving!! Place at end of .emacs file 
(win:startup-with-window) 
+0

funziona perfettamente. L'ho installato su emacs-live, nel mio pacchetto personale. Ho dovuto caricare anche revive.el prima di windows.el. http://www.emacswiki.org/emacs/WindowsMode –

1

Le istantanee di Emacs 24.4 since June 2013 hanno aggiunto il ripristino del frame al gestore di sessioni in bundle desktop.el. Ciò include il ripristino della posizione del desktop e finestre aperte di tutti i frame. Ho provato personalmente questa funzione utilizzando un'istantanea di gennaio 2014 e funziona piuttosto bene, anche se rimangono alcuni bug minori. Questi potrebbero essere già stati corretti in istantanee più recenti.

Si noti che alcuni buffer non possono essere facilmente ripristinati anche in teoria, come i debugger (gdb, pdb, ecc.) E qualsiasi altro buffer che dipende da un processo esterno.

+0

Questo ha funzionato perfettamente per me ed è ben documentato qui: http://ergoemacs.org/emacs/emacs_save_restore_opened_files.html – petergassner

Problemi correlati