2011-01-12 23 views
41

Nếu tôi đang ở chế độ xem hai màn hình với các bộ đệm khác nhau trên Emac và con trỏ nằm trên bộ đệm trên cùng, cách nhanh nhất để di chuyển con trỏ tới bộ đệm dưới cùng là gì?Làm thế nào để chuyển đổi giữa các bộ đệm hiển thị trong các emacs?

Câu hỏi bổ sung: nếu tôi biết một lệnh, có cách nào dễ dàng để xác định khóa kết hợp nào bị ràng buộc, nếu có?

Trả lời

55

Để chuyển sang sử dụng bộ đệm khác: C-x o.

Mã mô tả: C-h k.

+2

bạn cần phải chờ một chút sau khi C-x, khi nó xuất hiện trong dòng, nhấn o – Tim

+7

Nhận xét ở trên không chính xác: bạn không cần phải chờ C-x xuất hiện. – nguthrie

+0

Hơi cập nhật hơn: http://www.emacswiki.org/emacs/SwitchingBuffers –

8

đối với các câu hỏi bonus Với, nếu bạn biết lệnh (other-window), và bạn gọi nó với Mx khác cửa sổ, Emacs sẽ hiển thị một thông điệp ngắn gọn trong minibuffer nêu: "Bạn có thể chạy lệnh` cửa sổ khác 'với Cx n ".

Ngoài ra còn có M-x ở đâu là sẽ nhắc lệnh và cung cấp cho bạn các kết buộc hiện tại dẫn đến lệnh đó (nếu có).

Có hướng dẫn được giao bằng Emacs. Nó thực sự có câu trả lời cho câu hỏi của bạn (xem phần MULTIPLE WINDOWS khoảng 80% trong hướng dẫn). Bạn có thể truy cập hướng dẫn qua C-h t hoặc Trợ giúp-với-hướng dẫn. Ngoài ra còn có một liên kết đến hướng dẫn trên màn hình giật gân ban đầu của Emacs. Ngay bên dưới liên kết đến hướng dẫn là một liên kết đến đường dây trực tuyến Emacs Guided Tour. Hướng dẫn sẽ hướng dẫn bạn qua các lệnh chỉnh sửa/chuyển động cơ bản, hướng dẫn sẽ giới thiệu thêm về những gì Emacs cung cấp.

+0

Cảm ơn Trey, Trong thời trang mã hóa thực sự, tôi đã theo dõi 75% đầu tiên của hướng dẫn, nói "vâng, tôi nhận được nó" và lang thang để viết mã. –

9

Bạn cũng có thể quan tâm đến WindMove, cho phép chuyển hướng cửa sổ "định hướng" với < S-up>, < S-right> vv

+1

Có, và nó đã được tích hợp sẵn, vì vậy bạn chỉ cần thêm '(windmove-default-keybindings)' vào tệp init của bạn. – TooTone

0

Nếu bạn muốn di chuyển giữa các chỉ bộ đệm hiện đang hiển thị, sau đó bạn thực sự muốn điều hướng giữa các cửa sổ chúng được hiển thị trong này cung cấp cho bạn một cách để làm điều đó, sử dụng tên cửa sổ/khung đó cũng giống như các bộ đệm:.

Xem Better window navigation in Emacs?

23

Đây là một tốt hơn giải pháp khi bạn mở nhiều hơn hai cửa sổ (buff ERS) trong một khung hình:

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

Bây giờ, bạn có thể sử dụng C-x UP/DOWN/LEFT/RIGHT đi đến trên/nether/trái/phải đệm khi bạn có ba hoặc nhiều hơn trong một khung hình, họ có nhiều chính xác hơn 'other-window và bạn don không cần phải cài đặt bất kỳ gói nào.

Bạn thậm chí có thể làm cho nó chu kỳ bộ đệm theo hướng (vertically/horizontally) với một trong các phím tắt ở trên có cấu hình trong tệp .emacs/init.el, nhưng tôi không khuyên bạn sử dụng nó (bên cạnh tôi không nhớ nó nữa, bạn có thể google nó nếu bạn muốn).

Tất nhiên, bạn có thể sử dụng các phím tắt khác ngoài các phím tắt tôi sử dụng trong các tệp .emac của mình.

+0

Lưu ý rằng theo mặc định Cx và Cx được sử dụng để chuyển đổi giữa các bộ đệm ** hoạt động ** – Ascam

+0

Lưu ý rằng điều này không hoạt động nếu bạn đã chạy bash trong một trong các panes của bạn, các lệnh này được snagged bởi bash thay vì emacs Sử dụng chúng. Có thể áp dụng cho các chương trình khác chạy qua emacs. Bạn có thể di chuyển giữa các ô cho đến khi ngăn bash hoạt động và sau đó bạn bị kẹt. C-x o không hoạt động. – LawfulEvil

+0

@LawfulEvil làm 'C-c C-x o' để thoát khỏi chế độ chụp bash. 'C-c' cho biết cửa sổ bạn đang nhập lệnh emacs không phải là lệnh đầu cuối. –

Các vấn đề liên quan