Perché set-default-font trovare-file-other-window riguarda?
-
14-10-2019 - |
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.
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), spettacoliC-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 ei find-file-other-window RET
conduce alla documentazione per questa funzione.) E 'meno chiaro chepop-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 adisplay-buffer
. La descrizione didisplay-buffer
non descrive il suo funzionamento in dettaglio, in modo da lì è necessario o consultare il manuale Elisp come sopra o esplorare l'origine deldisplay-buffer
cliccando suwindow.el
.