2010-09-18 16 views
9

Ho un numero di divisioni aperto, guardando vari buffer. Ma quando per esempio controllo l'aiuto su una funzione, sostituirà uno degli split con il buffer di aiuto. Una volta che ho finito di leggere l'aiuto, devo tornare manualmente al buffer corretto, il che è un dolore. Come faccio ad avere Emacs più bello per i miei buffer?Come posso impedire a Emacs di modificare i buffer divisi?

Aggiornamento: L'aiuto consente di premere q per tornare al buffer precedente. Ma facendo sì che il backtrace di Emacs compaia, ruba anche una delle mie finestre buffer e non dispone di un .

Aggiornamento: Il backtrace ha q per tornare indietro. La mia domanda originale rimane ancora: come posso chiedere a Emacs di non rubare una delle mie fessure?

risposta

6

Aggiungendo la riga

(push "*Help*" special-display-buffer-names)
al file di inizializzazione, è possibile che le successive chiamate del buffer di guida vengano visualizzate nel proprio frame (ciò che di solito il desktop chiama "finestra") e lasciano il frame originale con la sola configurazione.

Vedere Special Buffer Frames.

+0

Bello. Ho solo bisogno di ricollegare "delete-frame" a qualcosa di più pratico di C-x 5 0 ora e sarò tutto pronto. Non posso revocare questa domanda e questa risposta abbastanza! –

+0

A proposito, funziona anche con "* compilation *". –

+0

Tu, signore, sei un genio. – MDCore

0

Quello che faccio è andare su quel buffer modificato, C-x k, e il buffer corrente in quella finestra sarà il buffer precedente.

Potrebbe essere possibile definire un avviso per l'aiuto che salva la finestra corrente e lo stato del buffer e lo ripristina con un semplice tasto. Ma questo è al di fuori della mia conoscenza base elisp.

+0

Ho appena notato che appare con un messaggio che dice 'premere q per ripristinare questa finestra'. Andando a vedere se funziona per questa sessione di editing. – MDCore

+0

Ho un vago ricordo che le personalizzazioni predefinite in Aquamacs aiutano ad aprire in un nuovo frame invece di una finestra nel frame corrente. Se è così, probabilmente potresti semplicemente guardare per vedere come lo fanno e copiare il loro codice. – Porculus

+0

Preferirei una soluzione in cui help/backtrace, ecc. Non interferisce affatto con i miei buffer. Al momento una finestra popup sarebbe preferibile! – MDCore

1

Spero che questo vi aiuterà a:

  • Cx per rimuovere la finestra corrente

  • Cx per mantenere solo la finestra corrente

  • puoi usare windmove di addi ng la seguente riga nel vostro .emacs:

(windmove-default-keybindings)

Quindi, è possibile spostare il punto tra le finestre utilizzando S-destraS-sinistraS-up e S- down

Esistono molti modi per archiviare e ripristinare le finestre di emacs, vedere emacswiki.org on the subject.

+0

Bene, ho diviso la finestra in quattro quadranti, mostrando i file che voglio guardare. Rimozione di Windows sta per rovinare quella disposizione, che è il problema che sto avendo in primo luogo. – MDCore

+0

Esistono molti modi per archiviare le disposizioni di Windows. Aggiorna la mia risposta a un link a emacswiki.org sull'argomento. –

+1

Non ho bisogno di archiviare o ripristinare un accordo, preferisco che emacs non abbia problemi con quello che ho avuto. Voglio che il programma faccia ciò che voglio non viceversa. – MDCore

3

È anche possibile utilizzare la modalità Vincitore. È venuto su planet.emacsen.org qualche tempo fa.

Modalità Vincente è una modalità secondaria globale. Quando attivato, consente di "annullare" (e "rifare") le modifiche nella configurazione della finestra con i comandi chiave "C-c left" e "C-c right".

In questo modo è possibile annullare le modifiche alle suddivisioni immediatamente dopo il loro verificarsi.

Problemi correlati