2011-01-12 11 views
41

Se sono in visualizzazione a schermo diviso 2 diversi buffer su Emacs e il cursore si trova sul buffer superiore, qual è un modo rapido per spostare il cursore sul buffer inferiore?Come passare tra i buffer visibili in emacs?

Domanda bonus: se conosco un comando, c'è un modo semplice per identificare a quale key-combo è associato, se esiste?

risposta

55

Per passare ad altro buffer utilizzare: C-x o.

Descrizione chiave: C-h k.

+2

è necessario attendere un po 'dopo C-x, quando appare nella riga, premere o – Tim

+7

Il commento sopra riportato non è corretto: non è necessario attendere che C-x appaia. – nguthrie

+0

Un po 'più aggiornato: http://www.emacswiki.org/emacs/SwitchingBuffers –

8

Per quanto riguarda la domanda di bonus, se si conosce il comando (other-window), e si richiama con Mx altra finestra, Emacs mostrerà un breve messaggio nel minibuffer affermando: "È possibile eseguire il comando` altra finestra "con Cx n".

C'è anche M-x dove-è che richiede un comando e fornisce i collegamenti correnti che risultano in quel comando (se presente).

Esiste un tutorial fornito con Emacs. In realtà ha la risposta alla tua domanda (vedi la sezione MULTIPLE WINDOWS circa l'80% nel tutorial). È possibile accedere al tutorial tramite C-h t o M-x help-with-tutorial. C'è anche un collegamento al tutorial sulla schermata iniziale di Emacs. Proprio sotto il link al tutorial è presente un collegamento allo Emacs Guided Tour online. Il tutorial ti guida attraverso i comandi di modifica/movimento di base, il tour guidato è più un'introduzione a ciò che Emacs ha da offrire.

+0

Grazie Trey, in veste di coder fashion, ho seguito per il primo 75% del tutorial, ho detto "sì, ho praticamente capito" e sono andato alla codifica. –

9

Si può anche essere interessati a WindMove, che permette la navigazione finestra "direzionale" con < S-up>, < S-destra> ecc

+1

Sì, ed è ora integrato, quindi è sufficiente aggiungere '(windmove-default-keybindings)' al tuo file di init. – TooTone

0

Se si vuole navigare tra solo buffer che attualmente visualizzati, allora davvero si vuole navigare tra le finestre vengono visualizzate in questo ti dà un modo per farlo, utilizzando i nomi di finestra/telaio che sono gli stessi dei buffer:.

Vedi Better window navigation in Emacs?

23

Ecco una migliore soluzione quando apri più di due finestre (buff ERS) in un fotogramma:

(global-set-key (kbd "C-x <up>") 'windmove-up) 
(global-set-key (kbd "C-x <down>") 'windmove-down) 
(global-set-key (kbd "C-x <left>") 'windmove-left) 
(global-set-key (kbd "C-x <right>") 'windmove-right) 

Ora, è possibile utilizzare C-x UP/DOWN/LEFT/RIGHT di andare al di sopra/inferiore/sinistra/destra del buffer quando si hanno tre o più in un fotogramma, sono più precisi di 'other-window e don Non è necessario installare alcun pacchetto.

Si PUO 'addirittura farlo girare i buffer nella direzione (vertically/horizontally) con uno dei tasti di scelta rapida sopra con configurazione nel file .emacs/init.el, ma non lo consiglio (inoltre non ricordo più, puoi google se vuoi).

Ovviamente, è possibile utilizzare altri tasti di scelta rapida diversi da quelli che utilizzo nel mio .emacs.

+0

Nota che per impostazione predefinita Cx e Cx vengono utilizzati per passare tra i ** buffer attivi ** – Ascam

+0

Nota che questo non funziona se hai eseguito bash in uno dei tuoi riquadri, questi comandi sono stati rimpiccioliti da bash anziché emacs usando loro. Probabilmente si applica ad altri programmi eseguiti tramite emacs. È possibile spostarsi tra i riquadri finché il riquadro di bash è attivo e quindi si è bloccati. C-x o non funziona neanche. – LawfulEvil

+0

@LawfulEvil fa 'C-c C-x o' per uscire dall'acquisizione del piano bash. 'C-c' dice alla finestra che stai inserendo comandi emacs non quelli terminali. –

Problemi correlati