यहाँ कुछ उत्तर दिए गए हैं: /unix/12032/create-new-window-with-current-directory-in-tmux
संक्षेप में:
tmux अकसर किये गए सवाल से, एक ऑब्ज़ट (लेकिन बहुत सामान्य और काफी स्वतंत्र रूप से शेल) तरीका:
- मैं वर्तमान विंडो के समान निर्देशिका में एक नई विंडो कैसे खोल सकता हूं?
एक विकल्प सिर्फ खिड़की में "TMUX = tmux" चलाने का है। हालाँकि, यह केवल तभी काम करता है जब कोई कमांड नहीं चल रहा हो, ताकि आप कमांड को इनपुट कर सकें।
एक वर्कअराउंड एक पर्यावरण चर के माध्यम से tmux को वर्तमान पथ के बारे में बताना है। ऐसा करने के लिए, निम्नलिखित कमांड का उपयोग करें:
[ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD
जो वर्तमान निर्देशिका के पथ पर TMUXPWD_i (जहां मैं वर्तमान विंडो की संख्या है) सेट करता है। यह आदेश PS1 में जोड़ा जा सकता है, उदाहरण के लिए:
PS1='$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#I") $PWD)\h$ '
जब एक नई विंडो बनाई जाती है, तो शेल को निर्देशिका बदलने के लिए कहा जाना चाहिए। आप एक नई बाइंडिंग को परिभाषित कर सकते हैं (उदाहरण के लिए, अगर GNU बैश का उपयोग कर रहे हैं):
bind-key C-c run-shell 'tmux neww "cd $(tmux display -p "\$TMUXPWD_#I"); exec bash"'
यह समाधान तब भी काम करेगा, जब कोई कमांड वर्तमान में टर्मिनल में चल रही हो, लेकिन यह उस विंडो से काम नहीं करेगा, जिसे सिर्फ दूसरे के साथ स्वैप किया गया हो, क्योंकि एक स्वैप के बाद TMUXPWD_i को अपडेट नहीं किया जाएगा। हालाँकि, नया प्रॉम्प्ट प्रदर्शित होने के बाद, TMUXPWD_i को ठीक से अपडेट किया जाता है।
बस कॉल को आपके लिए उपयुक्त शेल में बदल दें।
इसके अलावा, स्पष्ट रूप से tmux के नए संस्करणों ने इसे एक कमांड के साथ संबोधित किया है
tmux new-window
पुराने संस्करणों को इस प्रकार काम करने का दावा किया जाता है:
बुला
tmux neww
आपके खोल से उस dir में tmux खुल जाएगा।
यदि आप tmux में वर्तमान कार्य निर्देशिका से नई विंडो या पैन खोलने में सक्षम होना चाहते हैं, तो आपको इसके बजाय:
tmux सेट-ऑप्शन डिफ़ॉल्ट-पथ "$ PWD"