2009-02-26 7 views
9

Trascorro molto del mio tempo in emacs, e per la maggior parte è meraviglioso. Ma una cosa mi fa davvero impazzire quando ci sto dentro, e questo è il controllo su quale finestra vengono aperti vari nuovi buffer. Quando faccio lo find-file, si apre sempre nella finestra corrente, e questo è quello che mi piace. Ma un sacco di altre modalità mi piace dividere le finestre per me, cambiare il layout e fare varie altre cose che mi infastidiscono. Ad esempio, l'esecuzione di M-x manual-entry sembra non avere alcuna rima o motivo su dove apre la manpage, e vari comandi org-mode fanno la stessa cosa, chiudendo le finestre che voglio tenere aperte, ecc. Non mi piace dover ripetere il layout ogni volta che voglio per guardare il mio programma org o aprire una manpage.Miglior controllo sulle finestre di Emacs

In breve, è comunque possibile controllare globalmente quali finestre vengono utilizzate per le modalità che si desidera aprire in una finestra diversa da quella corrente? Posso indirizzarli più facilmente? O dovrò hackerare ciascuna modalità per agire nel modo in cui voglio?

risposta

8

provare la modalità Vincitore:

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

Esso fornisce un undo/redo per modifiche alla configurazione della finestra.

+0

Non perfetto, ma in realtà è esattamente la modalita 'minore che stavo immaginando di scrivere per aggirare questo problema. Grazie! –

2

Questa domanda ha sempre infastidito anche me. Ho trovato questo:

http://www.gnu.org/software/emacs/elisp/html_node/Choosing-Window.html

Sembra che si può usare (setf pop-up-frames t) per rendere roba visualizzato in una nuova cornice.

Inoltre, sembra che si possa utilizzare la funzione display-buffer per sovrascrivere la funzione di visualizzazione (come vengono scelti i buffer.) Ovviamente, dovresti essere bravo con l'elisp.