tmux bỏ qua tập tin cấu hình


88

Tôi vừa cài đặt tmux trên Ubuntu 10.04 và cố gắng sắp xếp lại khóa tiền tố C-abằng cách tạo tệp ~/.tmux.confvới các dòng sau:

set-option -g prefix C-a
unbind-key C-b

Khi bắt đầu tmux, cả thường xuyên và với -f ~/.tmux.conf, tiền tố thực sự giống nhauC-b

Không có lỗi hay cảnh báo nào.

Bất cứ ý tưởng những gì sai với việc tải conf?


Nó hoạt động cho tôi ™. Hãy thử chạy strace -s9999 -f -o tmux.strace tmux -c truevà đăng đầu ra của grep -C5 'tmux\.conf' tmux.strace.
Gilles

Tôi gặp vấn đề tương tự, không có phiên nào hiện tại, (kết nối được báo cáo 'tmux ls' bị từ chối, tức là không chạy), nhưng nó vẫn không đọc được tệp conf. Tôi đã khởi chạy nó với một CWD ở đâu đó trong / usr, nhưng khi tôi chuyển sang ~ / và khởi chạy tmux, nó đã xử lý tệp conf. Đó là hành vi kỳ lạ, nhưng đó là một cái gì đó để kiểm tra.
Ranko Kohime

Câu trả lời:


119

Tệp ~ / .tmux.conf được tải khi máy chủ tmux được khởi động lần đầu tiên. Vì vậy, nếu có các phiên tmux hiện có, bắt đầu một phiên mới tmuxkhông dẫn đến tải lại tệp .tmux.conf. Hãy thử khởi động lại máy chủ tmux: Sử dụng lệnh tmux list-sessionsđể xem có phiên nào không. Thoát chúng (ví dụ tmux attachsau đó giết tất cả các cửa sổ và thoát). Khi tất cả các phiên đã hết, hãy thử tmuxlại. Lần này việc đóng lại nên hoạt động.


27
killall tmuxhoặc tmux kill-servercũng sẽ hoàn thành công việc
Matt

5
Tôi đã sử dụng killall tmuxtmux kill-servervẫn conf của tôi không được tải. Tôi có thể xác nhận nó là hợp lệ, vì sử dụng :source-file ~/.tmux.conftrong tmux thực sự làm thay đổi cấu hình! Không thể tìm ra nguyên nhân gây ra hành vi này.
Ambidex

Tôi tự hỏi tại sao tải lại cấu hình không được đề cập trong câu trả lời này. Nó đôi khi hoạt động và đôi khi không. Bất cứ ý tưởng về điều đó?
DarthPaghius

53

Để tải lại ~ / .tmux.conf của bạn mà không làm chết phiên của bạn, bạn chỉ cần làm:

C-b :source-file /absolute/path/to/your/.tmux.conf

4
Bạn có thể thêm phần sau vào .tmux.conf để sử dụng Ctrl-A r để tải lại:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 để chỉ ra sự cần thiết của con đường tuyệt đối
Akash Agarwal

20

chạy bên trong phiên tmux của bạn:

tmux source-file /absolute/path/to/your/.tmux.conf

Lưu ý: điều này sẽ không ảnh hưởng đến cửa sổ tmux hiện tại (rõ ràng), nhưng tất cả các cửa sổ tmux mới.
Klaws

3

Ngoài ra còn có một phím tắt mặc định ràng buộc để tải lại của bạn ~/.tmux.conf, ít nhất là trong cài đặt của tôi : C-b r. Nếu bạn nhấn, C-b ?nó sẽ hiển thị một danh sách tất cả các phím tắt bị ràng buộc, vì vậy bạn có thể biết nếu bạn đã xác định một phím tắt.


Đó là cụ thể để cài đặt / cấu hình của bạn. Theo mặc định, <prefix> rbị ràng buộc với refresh-client(những gì bạn mô tả sẽ giống như thế source ~/.tmux.conf).
Chris Johnsen

1

Tôi gặp vấn đề này vì tôi đang sử dụng tmux-next .

Ban đầu tôi đã giải quyết nó chỉ bằng cách chuyển tập tin cấu hình một cách rõ ràng tmux -f ~/.tmux.confnhư câu hỏi ở đây chỉ ra. (Tôi đã đặt bí danh tmux - bên cạnh tmux.)

Sau đó, tôi nhận ra tmux-next đang sử dụng tmux-next.conf, vì vậy chỉ cần symlink nó nếu sử dụng cái này và chỉ cần chạy phiên bản tmux tiếp theo.

ln -s ~/.tmux.conf ~/.tmux-next.conf


1

Tôi bỏ việc và mở lại thiết bị đầu cuối của mình và đó là cách duy nhất tôi có thể khiến nó hoạt động trở lại. Không chắc chắn lý do tại sao.

sử dụng Terminal trên Mac OSX

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.