Làm cách nào để giảm thời gian chờ giữa khóa tiền tố và khóa lệnh trong tmux?


45

My ~/.tmux.conf:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

bind-key o split-window -v
bind-key e split-window -h

bind-key w kill-pane

(để tạo các khóa lệnh giống như Trình tạo Gnome)

Tình huống: sau khi chia cửa sổ ngang thành 2 khung, chuyển sang một ô có mũi tên Ctrl+ a Up, tôi phải đợi một lúc (2-3 giây) để xem các lệnh lịch sử shell trong khung này. Bởi vì nếu tôi nhấn Uplần nữa, nó sẽ chuyển trở lại khung khác thay vì hiển thị cho tôi lệnh lịch sử shell. Làm thế nào tôi có thể từ chối điều này?


Một thay thế có khả năng hữu ích là sử dụng CTRL + B q, điều này hiển thị số cửa sổ trong tmux. Nhấn CTRL + B q <number> sẽ đưa bạn đến cửa sổ đó, lên / xuống sẽ có sẵn ngay lập tức. Bạn phải gõ số sau q khá nhanh. Có một thời gian chờ kiểm soát này, quá.
Spacen Jasset

Câu trả lời:


53

Lên, xuống, trái và phải ( select-paneliên kết; và điều khiển- và Meta- của cùng một khóa cho resize-pane) là các liên kết lặp lại có thể lặp lại theo kiểu mặc định (được thực hiện thông qua bind-key -r). Sau khi nhập khóa tiền tố và bất kỳ khóa lặp lại nào, bạn có thể nhập bất kỳ khóa lặp lại nào khác (mà không phải nhập lại tiền tố) trong số mili giây được chỉ định qua repeat-timetùy chọn phiên (mặc định là 500ms).

Bạn có thể kiểm tra giá trị hiện tại của repeat-timevới các lệnh shell này:

tmux show-options -g | grep \^repeat-time     # global
tmux show-options    | grep \^repeat-time     # this session

Nếu bạn muốn tắt lặp lại cho phiên hiện tại, sau đó nhập tiền tố của bạn, dấu hai chấm và nhập lệnh này:

set-option repeat-time 0

Hoặc, bạn có thể tìm thấy một giá trị khác không thoải mái. Nếu bạn thực sự có giá trị khoảng 2000 (tức là 2 giây), thì tôi đoán rằng nó đang được đặt /etc/tmux.conf.

Nếu bạn muốn tắt tính năng lặp lại (hoặc thay đổi thời gian chờ) cho tất cả các phiên của mình, thì hãy đặt giá trị toàn cầu bằng lệnh này:

set-option -g repeat-time 0

Nếu bạn đã đặt giá trị mỗi phiên, bạn sẽ cần hủy đặt giá trị đó trước khi giá trị toàn cầu có hiệu lực trong phiên đó ( set-option -u repeat-time). Bạn có thể muốn đặt giá trị toàn cầu thông qua giá trị của mình .tmux.confnếu bạn muốn loại bỏ nó vĩnh viễn.

Nếu bạn chỉ gặp vấn đề với Up, bạn có thể khởi động lại mà không cần -r:

bind-key Up select-pane -U

4

Bạn cũng có thể tắt lặp lại cho các phím bấm cụ thể, nếu bạn muốn. Ví dụ: các ràng buộc mặc định để chuyển đổi giữa các pan sôi xuống:

bind-key -r Up    select-pane -U
bind-key -r Down  select-pane -D
bind-key -r Left  select-pane -L
bind-key -r Right select-pane -R

Bạn có thể tạo lại những thứ này mà không cần -rcờ, như

bind-key    Up    select-pane -U
bind-key    Down  select-pane -D
bind-key    Left  select-pane -L
bind-key    Right select-pane -R

Cá nhân, tôi thích chuyển đổi khung là không lặp lại. Lặp lại là tốt nếu bạn có một cửa sổ được chia thành nhiều ô nhỏ, nhưng nó có thể dẫn đến va chạm chính (như bạn mô tả) với các ứng dụng chạy trong các ô đó (như lịch sử vỏ, vim, v.v.) và tôi thường không có nhiều hơn 2 pan mỗi cửa sổ. Nhưng để mỗi riêng của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.