2011-02-01 32 views
17

Khi tôi chia cửa sổ trong các emacs nhiều lần (dưới thiết bị đầu cuối) toàn bộ màn hình được chia thành nhiều phần với sắp xếp phân cấp. Trong vim nó rất dễ dàng để chuyển đổi giữa các cửa sổ trực quan với Control-w + (h, j, k, l), nhưng trong Emacs tôi chỉ có thể sử dụng Control-x + o để chuyển sang "cửa sổ khác", có thể sẽ yêu cầu một số lần lặp lại để cuối cùng đến được cửa sổ mà tôi dự định. Tôi tự hỏi nếu có một cách tốt hơn tương tự như trong Vim để dễ dàng điều hướng giữa các cửa sổ?Điều hướng cửa sổ tốt hơn ở Emacs?

Trả lời

29

Bạn đã thử WindMove chưa? Nó đi kèm với Emacs 21+. Bạn di chuyển xung quanh với Shift-up, Shift-xuống, Shift-trái, và Shift-đúng, mặc dù bạn có thể thay đổi sửa đổi. Từ tài liệu:

;; Installation: 
;; 
;; Put the following line in your `.emacs' file: 
;; 
;;  (windmove-default-keybindings)   ; shifted arrow keys 
;; 
;; or 
;; 
;;  (windmove-default-keybindings 'hyper) ; etc. 
;; 
;; to use another modifier key. 
;; 
;; 
;; If you wish to enable wrap-around, also add a line like: 
;; 
;; (setq windmove-wrap-around t) 
+4

Tôi cũng khuyên bạn nên thêm thư viện FrameMove của Trey. WindMove và FrameMove kết hợp làm cho cửa sổ điều hướng một làn gió tuyệt đối. http://trey-jackson.blogspot.com/2010/02/emacs-tip-35-framemove.html – phils

+0

Đối với thiết bị đầu cuối Mac OS X Mavericks, tác vụ không hoạt động 'Shift-up | down'. Hãy thử điều này: http://zurktech.blogspot.ch/2014/01/emacs-windmove-and-mavericks-terminalapp.html – randomor

+0

để sử dụng cùng với 'chế độ org' có giao diện: http://orgmode.org/ manual/Conflicts.html, phần windmove – AdrieanKhisbe

0

Đó cũng là trải nghiệm đầu tiên của tôi với các emac. Nhưng, bằng cách sử dụng windmove, tôi có thể bộ nó, theo cách tôi muốn. Tôi sử dụng này là sửa đổi cho windmove:

(windmove-default-keybindings 'meta) 

tôi sử dụng ALT cho điều hướng của windmove

2

tôi thấy mặc định bắt buộc đối với other-window để được thực sự tẻ nhạt, quá. Tôi đã xác định như sau trong tôi .emacs:

(global-set-key [(control ?,)] (lambda() (interactive) (other-window -1))) 
(global-set-key [(control ?.)] (lambda() (interactive) (other-window 1))) 

Chỉ cần tìm thấy một số dễ đạt keybindings (tôi sử dụng một bố trí Dvorak, vì vậy C-,C- có thể không dễ dàng. để bạn đạt được), tốt nhất là ngay cạnh nhau, để ràng buộc với những lambdas đó.

Ngoài ra, tôi đã tìm thấy số Emacs wiki cách đây vài tháng. Nifty Tricks có một danh sách tốt các cách để làm cho Emacs dễ sử dụng hơn!

1

Xem switch-window. Nó sẽ số cửa sổ để cho phép bạn chuyển trực tiếp đến cửa sổ bạn muốn.

+0

Tôi bỏ phiếu cho giải pháp này. WinMove xung đột với Chế độ Ác ma và tiếp cận các phím mũi tên có vẻ chậm hơn so với tôi dù là C-x o [số] (có lẽ nó chỉ là tâm lý) –

1

Trong Icicles, theo mặc định Cx o được ràng buộc với đa lệnh icicle-other-window-or-frame, mà làm việc theo cách này:

  • Với không arg tiền tố hoặc một tổ chức phi zero tiền tố arg số: Nếu khung được chọn có nhiều cửa sổ, thì đây là other-window. Nếu không, nó là other-frame.

  • Với arg không tiền tố (ví dụ C-0): Nếu khung đã chọn có nhiều cửa sổ, thì đây là icicle-select-window với các cửa sổ trong khung như ứng cử viên. Nếu không (khung cửa sổ đơn), đây là icicle-select-frame.

  • Với đồng bằng C-u: Nếu khung đã chọn có nhiều cửa sổ, thì đây là icicle-select-window với các cửa sổ từ tất cả các khung có thể nhìn thấy như ứng cử viên. Nếu không, đây là icicle-select-frame.

Vậy thì, icicle-select-windowicicle-select-frame là gì?

Chúng là nhiều lệnh cho phép bạn chọn cửa sổ hoặc khung để chọn theo tên. (Bạn có thể liên kết chúng một cách riêng biệt, nếu bạn muốn - mỗi thay đổi hành vi của chúng dựa trên tiền tố của chúng.)

Tên cửa sổ và khung được lấy từ bộ đệm hiển thị của chúng, với [N] (N = 1,2 ,. ..) được thêm vào nếu cần thiết cho một tên duy nhất nếu cùng một bộ đệm được hiển thị trong nhiều cửa sổ/khung.

Là nhiều lệnh, bạn có thể chọn bằng cách hoàn thành và/hoặc đi xe đạp. Hoàn thành có thể là tiền tố, chuỗi con, regexp hoặc mờ.

http://www.emacswiki.org/emacs/Icicles_-_Multi-Commands

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