2011-01-12 9 views
41

Jeśli na podzielonym ekranie oglądam 2 różne bufory w Emacs, a kursor znajduje się na górnym buforze, jaki jest szybki sposób na przeniesienie kursora do dolnego bufora?Jak przełączać się między widocznymi buforami w emacs?

Dodatkowe pytanie: jeśli znam polecenie, czy istnieje łatwy sposób zidentyfikowania, do jakiego klucza jest ono powiązane, jeśli takie istnieje?

Odpowiedz

55

Aby przełączyć na inne użycie bufora: C-x o. Kod: C-h k

+2

musisz poczekać trochę po C-x, kiedy pojawi się w wierszu, hit o – Tim

+7

Powyższy komentarz nie jest poprawny: nie musisz czekać na pojawienie się C-x. – nguthrie

+0

Trochę bardziej aktualny: http://www.emacswiki.org/emacs/SwitchingBuffers –

8

W odniesieniu do kwestii premiowej, jeśli znasz polecenie (other-window) i wywołać go z Mx innym-okno, Emacs wyświetli krótką wiadomość w minibufora stwierdzający: „Można uruchomić polecenie` inne okno "z Cx n".

Istnieje również M-x gdzie-jest, który monituje o polecenie i podaje aktualne powiązania, które skutkują tym poleceniem (jeśli jest).

Istnieje samouczek dostarczany z Emacsem. W rzeczywistości ma on odpowiedź na twoje pytanie (patrz sekcja: MULTIPLE WINDOWS około 80% do samouczka). Samouczek można uzyskać pod adresem: C-h t lub Pomoc M-x z samouczkiem. Jest także link do samouczka na początkowym ekranie powitalnym Emacsa. Tuż pod linkiem do samouczka znajduje się link do on-line Emacs Guided Tour. Samouczek przeprowadzi Cię przez podstawowe polecenia edycji/ruchu, wycieczka z przewodnikiem jest raczej wstępem do tego, co ma do zaoferowania Emacs.

+0

Dzięki Trey, W prawdziwym stylu koderów poszedłem za pierwszym 75% tutorialu, powiedziałem: "tak, prawie to mam" i odszedł do kodowania. –

9

Możesz być także zainteresowany WindMove, która umożliwia „kierunkową” Nawigacja okna z < S-UP>, < S-right> itp

+1

Tak, i jest teraz wbudowane, więc wystarczy dodać "(windmove-default-keybindings)" do pliku init. – TooTone

0

Jeśli chcesz poruszać się wśród zaledwie buforów, które są aktualnie wyświetlane, wtedy na pewno chcesz nawigować wśród okien są one wyświetlane w ten daje sposób, aby to zrobić, używając nazwy okna/ramy, które są takie same jak bufory.

Zobacz Better window navigation in Emacs?

23

Tutaj jest lepiej rozwiązanie po otwarciu więcej niż dwóch okien (buff ers) w jednej ramce:

(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) 

Teraz można wykorzystać C-x UP/DOWN/LEFT/RIGHT, aby przejść do powyższej/Pustki/bufor w lewo/w prawo, gdy masz trzy lub więcej w jednej ramce, są bardziej precyzyjne niż 'other-window i don nie musisz instalować żadnego pakietu.

Możesz nawet zrobić to, aby cyklować bufory w kierunku (vertically/horizontally) z jednym z powyższych skrótów z konfiguracją w pliku .emacs/init.el, ale nie polecam (poza tym nie pamiętam to już, możesz google go, jeśli chcesz).

Oczywiście można używać innych skrótów innych niż te, których używam w moich .emacs.

+0

Należy pamiętać, że domyślnie Cx i Cx są używane do przełączania między aktywnymi buforami ** ** – Ascam

+0

Należy zauważyć, że to nie działa, jeśli uruchomiłeś bash w jednym z okien, te polecenia są snagowane przez bash zamiast emacs używając ich. Prawdopodobnie dotyczy to innych programów uruchamianych przez emacs. Możesz poruszać się między panelami, dopóki okienko bash nie będzie aktywne, a następnie utkniesz. C-x o też nie działa. – LawfulEvil

+0

@LawfulEvil wykonaj "C-c C-x o", aby uniknąć przechwycenia płaszczyzny basha. "C-c" mówi o tym, że wchodzisz do komend emacs, a nie terminali końcowych. –

Powiązane problemy