Altri probabilmente ti daranno risposte che rispondono più direttamente alla tua domanda. La mia risposta è semplicemente spostare lo stato attivo sulla finestra desiderata e quindi utilizzare C-x C-f
o qualsiasi altra cosa per aprire il file o visualizzare il buffer desiderato nella finestra selezionata.
Per eseguire ciò che è stato richiesto direttamente, è comunque necessario utilizzare una sequenza di tasti che richiami il comando desiderato. E se si desidera qualcosa di generale che funzioni con comandi diversi (ad esempio find-file
e switch-to-buffer
), è necessario utilizzare un prefisso o riutilizzare il prefisso arg. Questo è in genere altrettante combinazioni di tasti che è necessario per passare alla finestra e quindi utilizzare il solito comando.
Naturalmente, con il mio suggerimento è necessario un comando per passare rapidamente alla finestra desiderata. Ci sono vari comandi là fuori che ti permettono di scorrere tra le finestre o utilizzare il completamento per selezionare rapidamente una finestra per nome o numero.
Ecco, questo è quello che vorrei suggerire: passare alla finestra e quindi visualizzare quello che vuoi lì, invece di cercare di coniugare (a) che designa la finestra di destinazione con (b) invocando il comando che consente di visualizzare il buffer. IOW, fallo alla vecchia maniera: vai alla finestra e poi mostra lì.
Ovviamente, se non si vuole finire nel nuovo buffer visualizzato e si desidera mantenere il punto focale da dove si è iniziato, quindi con il mio suggerimento si dovrebbe ricorrere al ciclo (ad es.) finestra di partenza. Non è chiaro dalla tua descrizione se questo è il tuo caso d'uso. Se lo è, la mia soluzione probabilmente non è così utile.
Ma anche in questo caso, potrebbe essere ancora utile dividere le cose: (a) un comando per (solo) designare la finestra da utilizzare per il seguente comando display-buffer e (b) il comando display-buffer . IOW, fa essenzialmente la stessa cosa che ho suggerito, ma il primo passo dovrebbe solo designare la finestra di destinazione invece di passare ad essa, e il secondo passo userebbe quella finestra designata. (Si avrebbe bisogno di definire (a) e (b), come un meccanismo generale.)
Anche in questo caso il mio suggerimento è diversa probabilmente da ciò che gli altri potrebbero pensare, nel senso che non cerca di combinare scelta finestra con comando di visualizzazione. Sono accoppiati sequenzialmente, ma non combinati in un unico comando.
La domanda riguarda specificamente la scelta di dove un "link" o "comando" aprirà un buffer. È chiaro che si può passare a una finestra e aprire direttamente un buffer lì. Le domande sono: quando premo un "link" in dired (ad esempio), come posso specificare quale finestra verrà scelta per il nuovo buffer che verrà aperto? – UndeadKernel
@UndeadKernel: non sono sicuro che la tua domanda indicata sia la domanda OP. Ma la risposta alla tua domanda è che qualunque comando invochi il "link" determina il comportamento. Niente di più, niente di meno. Quel comando può eseguire questa o quella azione specifica, oppure può richiedere all'utente di scegliere tra alcune azioni possibili, o ... Un comando è una funzione Elisp - può fare qualsiasi cosa che una funzione può fare. Il punto è che qualunque comando sia invocato (se si fa clic su un collegamento o meno) decide qual è il comportamento. Potrebbe darti una scelta o no. – Drew