khung mới tmux có thư mục chính là mặc định thay vì thư mục trước


24

Khi tôi nhấn Ctrl+ "(tạo một khung mới) trong khi trong một khung có PWD /tmpví dụ, khung mới sẽ bắt đầu như thư mục nhà của tôi ~.

Tôi đã xem /unix//a/109255/72471 và nó đã giúp tôi với vấn đề tương tự liên quan đến các cửa sổ.

Tuy nhiên, tôi không thể khắc phục sự cố split-windowbằng cách chèn

bind " split-window -c "#{pane_current_path}"

vào tôi ~/.tmux.conf.

Tôi đang sử dụng tmux 1.9a và do đó không muốn một giải pháp khá lộn xộn cho các phiên bản cũ hơn được nêu ở đây (dù sao nó cũng không hoạt động trong trường hợp của tôi):

bind '"' set default-path "" \; split-window -v \; set -u default-path

Làm thế nào tôi có thể nói tmuxđể đặt thư mục mặc định là đường dẫn hiện tại của một ngăn, khi tạo một ngăn mới?

Câu trả lời:


45

Hãy thử chỉ định vcho dọc hoặc hngang

.tmux.confTập tin của tôi có:

bind \ split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind - split-window -v -c '#{pane_current_path}'  # Split panes vertically

(Tôi sử dụng \-làm bộ chia ngăn một ngón tay.)

Panes mới mở cho tôi bằng cách sử dụng thư mục hiện tại của tôi, bất cứ nơi nào tôi đang có.
Đó chắc chắn là một tính năng quan trọng đối với tôi!

Một điều quan trọng khác với tmux (đây là vấn đề trong trường hợp này) là bạn phải áp dụng các thay đổi với:

tmux source-file ~/.tmux.conf

Lưu ý rằng việc đóng các thiết bị đầu cuối, thậm chí đăng xuất và khởi động lại, sẽ KHÔNG áp dụng các thay đổi tmux - bạn phải thực sự sử dụng lệnh đó (hoặc sử dụng Ctrl+ B :source-file ~/.tmux.conf).

Bạn có thể xem .tmux.conftập tin đầy đủ của tôi tại https://github.com/durrantm/setups .


2
Bạn đã nói "Lưu ý rằng việc đóng các thiết bị đầu cuối, thậm chí đăng xuất và khởi động lại sẽ KHÔNG áp dụng thay đổi tmux". Tất nhiên, nếu bạn chỉ tách ra tmux thì sẽ không nhưng việc giết và khởi động lại máy chủ sẽ áp dụng các thay đổi :).
Soyuka

2
Cám ơn rất nhiều! Điều này là siêu hữu ích. Tuy nhiên, tôi khá chắc chắn rằng việc khởi động lại máy tính sẽ áp dụng các thay đổi tmux :)
vitirus

Khởi động lại máy tính không áp dụng thay đổi cho tôi trước đây dẫn đến sự nhầm lẫn cho tôi. ymmv
Michael Durrant

Lưu ý rằng điều tương tự có thể được thực hiện chonew-window
math2001

25
bind '%' split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically
bind c new-window -c '#{pane_current_path}' # Create new window

Thêm dòng cuối cùng của bạn ~/.tmux.confđể duy trì $PWDtrong cửa sổ mới là tốt.


6

Đó là bởi vì,

bind " split-window -c "#{pane_current_path}"

nên là

bind '"' split-window -c "#{pane_current_path}"

2

Trong trường hợp ai đó đến đây bằng cách tìm kiếm, điều này hoạt động tốt với tmux 2.7 và sẽ ổn với tất cả các phiên bản

unbind '"'
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
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.