Domanda

Recentemente ho aggiunto la riga

(set-default-font "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1")

per il mio file .emacs. Dopo di che find-file-other-window apre sempre una nuova finestra invece di utilizzare finestre esistenti. Perché che accadrebbe !? Come posso risolvere il problema?

Non capisco come tutte le opere di magia questo font-config, quindi se in realtà è ovvio che mi dispiace.

Edit: ho una abbastanza grande risoluzione, e la mia dimensione del carattere è diminuito in modo significativo abbastanza. Ha find-file-other-window tiene conto dello spazio a disposizione personaggio? Forse è decidere c'è talmente tanto spazio che può permettersi di finestre appena aperte volenti o nolenti.

È stato utile?

Soluzione

find-file-other-window infine chiama href="http://www.gnu.org/software/emacs/manual/html_node/elisp/Choosing-Window.html" rel="nofollow"> display-buffer , che gestisce un complesso algoritmo per decidere se riutilizzare una finestra esistente o crearne uno e come. In particolare, se display-buffer decide che ha bisogno di creare o di riciclo di una finestra, si cerca di chiamare split-window-preferred-function di dividere il più grande finestra. Per impostazione predefinita, non è in split-window-preferred-function split-window-sensibly , che è disposto a dividere le finestre verticalmente se sono più di linee split-height-threshold alti o, in mancanza orizzontalmente se sono più di colonne split-width-threshold ampia.

Sembra che si desidera

(setq split-width-threshold nil)
(setq split-height-threshold nil)

NB. Questa risposta si applica a GNU Emacs 23. Le versioni precedenti non ha avuto la divisione orizzontale. Le versioni successive possono fare le cose diversamente.


A pochi modi per trovare questo fuori (nessuno semplice):

  • Se si indovina che cosa sta succedendo si chiama splitting una finestra: spettacoli M-x apropos RET split RET una serie di variabili e funzioni, e si potrebbe capire quali sono rilevanti. Oppure, se si indovina che c'è un'opzione (c'è spesso), spettacoli C-h v split- TAB promettenti contatti.
  • per find-file-other-window riferimenti Visualizzazione buffer . (Devi andare al manuale Elisp per questo livello di dettaglio; all'interno di Emacs, C-h i m elisp RET porta in primo piano il manuale di Elisp e i find-file-other-window RET conduce alla documentazione per questa funzione.) E 'meno chiaro che pop-to-buffer è il passaggio per leggere lì; fa riferimento a scelta finestra che contiene il ricercato informazioni.
  • spettacoli C-h f find-file-other-window RET il built-in documentazione per la funzione. Si collega a display-buffer. La descrizione di display-buffer non descrive il suo funzionamento in dettaglio, in modo da lì è necessario o consultare il manuale Elisp come sopra o esplorare l'origine del display-buffer cliccando su window.el.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top