Làm cách nào tôi có thể tạo ctrl + phím trái / phải để di chuyển toàn bộ từ trong tmux?


100

Trong cả zsh và bash, ctrl + mũi tên cho phép tôi di chuyển vị trí tôi đang gõ bằng toàn bộ từ, nhưng điều này không hoạt động trong tmux, đây là một vấn đề vì tôi hiện đang tự động khởi chạy nó mỗi khi tôi mở trình bao .

Làm thế nào tôi có thể sửa lỗi này?

Câu trả lời:


130
  1. Chỉnh sửa ~/.tmux.confvà thêm dòng của bạn :

    set-window-option -g xterm-keys on
    
  2. Nếu bạn chưa muốn làm cho nó vĩnh viễn, hãy làm:

    C-b :set-window-option xterm-keys on
    
  3. Tải lại cấu hình của bạn trong tmux bằng cách thực hiện:

    C-b :source-file ~/.tmux.conf
    

Thêm thông tin ở đây :


2
Strange: Điều này chỉ hoạt động với tôi nếu tôi tải lại tệp ~ / .tmux.conf từ tmux hoặc đặt hành động trong: -prompt của tmux, không phải lúc đầu khi tôi mở tmux. Bất kỳ ý tưởng những gì có thể là vấn đề ở đó?
AME

@AME đóng tất cả các phiên tmux sau đó thử lại.
Nathan

Nếu cấu hình tải lại không khắc phục được sự cố (đây là trường hợp của tôi), hãy thử một phiên mới. Có lẽ bạn cần phải giết phiên hiện tại và tạo một phiên mới. Một tùy chọn khác để làm cho nó có hiệu lực trong một khung (không phải là một phiên) là Cb: respawn-pane -k
fstang

Điều này làm việc cho tôi, chủ yếu. Tôi tự hỏi tại sao nó không được mặc định?
inetknght

Giết phiên, hoặc bất cứ điều gì set-window-option -g xterm-keys onvẫn không làm gì trong trường hợp của tôi.
noraj

8
set-window-option -g xterm-keys on

Đưa tôi một số cách và đưa tôi Ctrl- Left/Righttrên bảng điều khiển, nhưng nó vẫn phản hồi khác nhau trong vim.

Mở khóa các phím dường như không giúp được gì.

Hóa ra, tại một số thời điểm, tôi đã đặt thiết bị đầu cuối mặc định của mình thành màn hình ( set-option -g default-terminal "screen"in .tmux.conf)

Thay đổi điều này thành sau đây đã cho tôi Ctrl- Left/Righttrong mọi thứ khác:

set-option -g default-terminal "xterm-256color"

Hy vọng rằng sẽ giúp được ai đó.


1
Ngoại trừ điều này phá vỡ màu sắc trong vim, tig, và có lẽ là cả một loạt các thứ khác ...
koniiiik

1
xem thêm unix.stackexchange.com/a/1098/250 để được tư vấn về cách đặt TATE như thế trong tmux
phunehehe

3

Đối với msys2 / Cygwin / mintty:

Thêm vào bên dưới ~/.inputrc.

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

Tải lại sẽ làm cho tmux hoạt động chính xác.


2

Tôi không chắc chắn, nhưng điều này có thể là do tmuxmặc định liên kết C-<up/down/left/right>để chuyển trọng tâm vào khung bên trên / bên dưới / bên trái / bên phải của khung hiện đang tập trung. Nếu bạn không sử dụng pan thường xuyên, bạn có thể không nhận thấy tính năng này. Nếu đây là vấn đề, bạn có thể hủy liên kết các khóa đó bằng cách nói:

unbind C-Left
unbind C-Right

Điều đó có thể là đủ với chính nó , hoặc bạn có thể cần phải tự ràng buộc chúng một lần nữa với những gì bạn muốn chúng làm, thông qua:

bind -n C-Left <the action you want>
bind -n C-Right <other action you want>

1
Bản thân nó là đủ, nếu nó không bị tmux tóm lấy, nó sẽ chuyển sang vỏ.
Cướp

0

Đối với tôi, các khóa không bị ràng buộc chính xác, bởi vì các tùy chọn hệ thống trong High Sierra đã được thiết lập để được sử dụng bởi Mission Control. Bỏ chọn những thứ này sau đó cho phép các ràng buộc chính xác hoạt động trong iTerm2 và Tmux

Tùy chọn hệ thống

Bỏ chọn tất cả các mục tham chiếu khóa điều khiển, cho phép các ràng buộc hoạt động đúng

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.