tmux new pane มี home directory เป็นค่าเริ่มต้นแทนที่จะเป็น directory ก่อนหน้า


24

เมื่อผมกดCtrl+ "(สร้างบานหน้าต่างใหม่) ขณะที่อยู่ในบานหน้าต่างซึ่งมีตัวอย่างเช่นบานหน้าต่างใหม่จะเริ่มต้นเป็นโฟลเดอร์ที่บ้านของฉันPWD /tmp~

ฉันดูที่/unix//a/109255/72471และมันช่วยฉันด้วยปัญหาเดียวกันเกี่ยวกับ windows

อย่างไรก็ตามฉันไม่สามารถแก้ไขsplit-windowปัญหาด้วยการแทรก

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

~/.tmux.confเข้าของฉัน

ฉันกำลังใช้ tmux 1.9a และไม่ต้องการโซลูชันที่ยุ่งสำหรับรุ่นเก่าที่ระบุไว้ที่นี่ (มันใช้งานไม่ได้ในกรณีของฉัน):

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

ฉันtmuxจะบอกให้ตั้งค่าไดเรกทอรีเริ่มต้นเป็นเส้นทางปัจจุบันของบานหน้าต่างเมื่อสร้างบานหน้าต่างใหม่ได้อย่างไร

คำตอบ:


45

ลองระบุvสำหรับแนวตั้งหรือhแนวนอน

.tmux.confไฟล์ของฉันมี:

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

(ฉันใช้\และ-เป็นตัวแยกบานหน้าต่างหนึ่งนิ้ว)

บานหน้าต่างใหม่เปิดให้ฉันใช้ไดเรกทอรีปัจจุบันของฉันไม่ว่าฉันจะอยู่ที่ไหน
แน่นอนมันเป็นคุณสมบัติที่สำคัญสำหรับฉัน!

สิ่งสำคัญอีกอย่างหนึ่งของ tmux (นี่คือปัญหาในกรณีนี้) คือคุณต้องใช้การเปลี่ยนแปลงกับ:

tmux source-file ~/.tmux.conf

โปรดทราบว่าการปิดเทอร์มินัลแม้การออกจากระบบและการรีสตาร์ทจะไม่ใช้การเปลี่ยนแปลง tmux - คุณต้องใช้คำสั่งนั้นจริง ๆ (หรือใช้Ctrl+ B :source-file ~/.tmux.conf)

ท่านสามารถเข้าดูเต็มของฉัน.tmux.confไฟล์ที่https://github.com/durrantm/setups


2
คุณกล่าวว่า "โปรดทราบว่าการปิดเทอร์มินัลแม้การออกจากระบบและการรีสตาร์ทจะไม่ใช้การเปลี่ยนแปลง tmux" แน่นอนถ้าคุณถอดออก tmux เพียงอย่างเดียวไม่ได้นอกจากฆ่าและรีสตาร์ทเซิร์ฟเวอร์จะมีการเปลี่ยนแปลง :)
Soyuka

2
ขอบคุณมาก! นี่เป็นประโยชน์อย่างมาก แต่ผมค่อนข้างมั่นใจว่าการรีสตาร์ทเครื่องคอมพิวเตอร์ใช้การเปลี่ยนแปลง tmux :)
vitiral

การรีสตาร์ทคอมพิวเตอร์ไม่ได้ใช้การเปลี่ยนแปลงสำหรับฉันก่อนหน้านี้ซึ่งนำไปสู่ความสับสนสำหรับฉัน ymmv
Michael Durrant

โปรดทราบว่าสามารถทำสิ่งเดียวกันนี้ได้new-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

เพิ่มบรรทัดสุดท้ายของคุณ~/.tmux.confเพื่อรักษา$PWDในหน้าต่างใหม่เช่นกัน


6

นั่นเป็นเพราะ

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

ควรจะเป็น

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

2

ในกรณีที่มีคนมาที่นี่โดยการค้นหามันใช้งานได้ดีกับ tmux 2.7 และน่าจะใช้ได้กับทุกรุ่น

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

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.