Come faccio a visualizzare un buffer in una finestra di programmazione other than the current
, simile al comportamento di grep next-error
di Emacs. Voglio che funzioni nel più recente Emacs 24.1. Si noti che questa logica è stata recentemente modificata nel trunk Emacs e incorporata in una singola funzione display-buffer
con una semantica di chiamata piuttosto complicata. Trovo difficile capire come utilizzare display-buffer
anche dopo aver letto l'aiuto su di esso più volte. Perché non esiste una funzione wrapper per questo come display-buffer-other-window
?Buffer di visualizzazione in un'altra finestra in Emac recenti
5
A
risposta
2
Le fonti Emacs mi ha dato la risposta
(pop-to-buffer BUFFER 'other-window)
4
La lunga stringa di documentazione per display-buffer
include quanto segue:
l'argomento di azione a `Display-buffer' può anche avere un non-nil e valore non di lista. Ciò significa visualizzare il buffer in una finestra diversa da quella selezionata, anche se è già visualizzata in nella finestra selezionata. Se chiamato in modo interattivo con un argomento prefisso , ACTION è t.
Pertanto per visualizzare un buffer specificato in una finestra diversa da quella corrente, è possibile utilizzare:
(display-buffer BUFFER-OR-NAME t)
2
ed esiste l'involucro, BTW, si chiama switch-to-buffer-other-window
.
Come si differenzia questo comportamento da '(pop-to-buffer BUFFER 'other-window)'? –
'display-buffer' non seleziona la finestra. 'pop-to-buffer' chiama display-buffer, quindi seleziona la finestra. Si noti che l'azione ''other-window' è identica all'utilizzo di' t' (cioè "un valore non nullo e non elenco"), e non risulta nella funzione 'other-window' utilizzata per determinare la finestra , come potrebbe sembrare; causa solo l'inibizione della stessa finestra. – phils