2012-03-29 24 views
10

tôi đã có một số rắc rối khi thiết tmux hotkey ưa thích của tôi trên Mac OS X.Làm thế nào tôi có thể thiết lập phím nóng tmux như Ctrl-, nghĩa là Ctrl + dấu phẩy

Các phím nóng phổ biến nhất mà gọi phép thuật tmux của là CTRL + ACTRL + B. Nhưng tôi thà chọn các tổ hợp phím khác vì những lý do sau: C-a là phím nóng toàn cục cho "nhảy tới đầu dòng"; C - b là dành cho "di chuyển ngược trên một dòng" và "Page UP in Vim". Tôi không muốn phá vỡ những quy tắc tốt đẹp này trong tmux.

Vì vậy, tôi cố gắng đặt một số phím tắt không thường xuyên được sử dụng cho phím nóng tmux. Những gì tôi chọn là CTRL - ,, CTRL - . hoặc CTRL - ;

tôi viết bản Tuyên Bố này trong tập tin .tmux.conf tôi:

set-option -g prefix C-, 

tôi bắt đầu tmux. Ồ, nó nói "phím xấu". Tôi thay thế C-, với C-. hoặc C- ;. Nó cũng không hoạt động.

Vì vậy, làm cách nào tôi có thể đặt phím nóng tmux thành CTRL - ,?

+0

liên quan Siêu câu hỏi User: [Làm thế nào để ràng buộc phím tmux tiền tố để C- '?] (Http://superuser.com/q/395233/14827) –

+0

chính xác vì những lý do bạn đề cập tôi đang sử dụng CTRL-T trong cấu hình màn hình của tôi. Tôi không sử dụng danh sách thẻ trong vim. (CTRL-T - nhảy lùi trong danh sách thẻ) – jm666

Trả lời

12

Phải tìm hiểu mã nguồn cho mã này. Phím điều khiển chỉ có thể được áp dụng cho các chữ cái, @, dấu cách và? (và C- @ có vẻ tương đương với C-không gian). Xin lỗi, không giống như C-, có thể, ít nhất là trong tmux-1.6.

+0

chepner, cảm ơn câu trả lời của bạn. Nghe như tin xấu. Nó có nghĩa là không có giải pháp REAL có sẵn gần đây. Tôi sẽ thỏa hiệp sử dụng C-q, C-h hoặc C-z. Tôi đoán có nên có một số tổ hợp phím mà không bị chiếm bởi emacs, vim, hoặc những thứ khác. –

+0

Không chắc chắn ý bạn là gì với 'chữ cái'. Nhưng dấu gạch chéo ngược là một hợp lệ (mặc dù khó thiết lập, xem http://superuser.com/q/417236/63972) kết hợp với C-. – mgodinho

8

Không có dấu phẩy, dấu chấm hoặc dấu chấm phẩy là các ký tự điều khiển chuẩn. Trình mô phỏng thiết bị đầu cuối của bạn có thể chỉ gửi ký tự đơn giản hoặc không có gì khi bạn nhập chúng; bạn có thể nhập chúng vào số cat -v để xem nội dung đang gửi.

Xem Wikipedia “ASCII control characters” và “How control characters map to keyboards”.

Nếu bạn có thể cấu hình lại mô phỏng thiết bị của bạn để gửi một số nhân vật khác/chuỗi, bạn sẽ có thể sử dụng nó trong tmux (ví dụ như có giả lập thiết bị đầu cuối của bạn gửi các ký tự giống như C-\ (hex 1C), và thiết lập của bạn tiền tố đó).

3

Sử dụng xterm terminal

1) đặt những trong ~/.Xresources của bạn để tạo ra dãy thoát của F13 khi CTRL - ,, CTRL - . hoặc CTRL - ; được nhấn

XTerm.VT100.translations: #override \                         
    Ctrl<Key>period: string(0x1b) string("[1;2P") \n\                     
    Ctrl<Key>comma: string(0x1b) string("[1;2P") \n\                     
    Ctrl<Key>semicolon: string(0x1b) string("[1;2P") 

chạy xrdb ~/.Xresources để tải các ký tự này.

2) thay đổi tiền tố trong ~/.tmux.conf

set -g prefix F13 

3) xterm lửa của bạn và tmux

$ tmux 
+0

Việc này có vi phạm việc sử dụng 'Ctrl +,' trong các ứng dụng như Google Chrome, nơi bạn có thể sử dụng 'Ctrl +, 'và' Ctrl + .' để chuyển đổi giữa các cuộc hội thoại trên hangouts.google.com không? – dragon788

+0

Không, Các cấu hình này dành cho Xterm chỉ –

+0

Tuyệt vời. Nó sẽ làm việc và có ý nghĩa để ánh xạ mỗi combo đến một khóa chức năng duy nhất qua 12 để chúng có thể được sử dụng cho các trình kích hoạt khác và không chỉ là tất cả các tiền tố gửi? – dragon788

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