এটিতে new-window
বর্তমানে আমি যেভাবে কাজ করছি তার সাথে এটির কার্যকরী ডিরেক্টরি সেট করে একটি খুলতে পারবেন I আমি zsh ব্যবহার করছি , যদি এটি গুরুত্বপূর্ণ হয়।
এটিতে new-window
বর্তমানে আমি যেভাবে কাজ করছি তার সাথে এটির কার্যকরী ডিরেক্টরি সেট করে একটি খুলতে পারবেন I আমি zsh ব্যবহার করছি , যদি এটি গুরুত্বপূর্ণ হয়।
উত্তর:
থেকে শুরু করে tmux 1.9 default-path
বিকল্প সরানো হয়েছে, তাই আপনি ব্যবহার করতে হবে -c
সঙ্গে বিকল্প new-window
, এবং split-window
(rebinding যেমন: c
, "
, এবং %
বাইন্ডিং অন্তর্ভুক্ত করা
-c '#{pane_current_path}'
)। বিশদটির জন্য এই প্রশ্নের অন্য কয়েকটি উত্তর দেখুন।
একটি প্রাসঙ্গিক বৈশিষ্ট্য ফেব্রুয়ারী ২০১২ এর গোড়ার দিকে tmux SVN ট্রাঙ্কে পৌঁছেছিল । tmux বিল্ডগুলিতে এই কোডটি অন্তর্ভুক্ত করে, tmux কী বাইন্ডিংগুলি অনুরোধ করে যে new-window
বর্তমান প্যানের সক্রিয় প্রক্রিয়াগুলির মতো একই বর্তমান ওয়ার্কিং ডিরেক্টরি সহ একটি নতুন উইন্ডো তৈরি করবে ( default-path
অধিবেশন যতক্ষণ থাকবে) বিকল্পটি ফাঁকা; এটি ডিফল্টরূপে)। split-window
কমান্ড দ্বারা তৈরি করা ফলকের ক্ষেত্রেও একই সত্য যখন এটি একটি বাঁধার মাধ্যমে ডাকে।
এটি বিশেষ প্ল্যাটফর্ম-নির্দিষ্ট কোড ব্যবহার করে, সুতরাং এই মুহুর্তে কেবলমাত্র কয়েকটি ওএস সমর্থিত: ডারউইন (ওএস এক্স), ফ্রিবিএসডি, লিনাক্স, ওপেনবিএসডি এবং সোলারিস।
এটি tmux এর পরবর্তী প্রকাশে উপলব্ধ হওয়া উচিত (1.7?)।
সঙ্গে tmux 1.4, আমি সাধারণত ব্যবহার
tmux neww
ইতিমধ্যে পছন্দসই বর্তমান ডিরেক্টরি ডিরেক্টরি আছে যে শেল মধ্যে।
তবে, যদি আমি একই বর্তমান কার্যনির্বাহী ডিরেক্টরি সহ অনেকগুলি উইন্ডো তৈরি করার প্রয়োজন অনুমান করি (বা আমি সাধারণ <प्रीফিক্স> c
কী বাইন্ডিং দিয়ে তাদের শুরু করতে সক্ষম হতে চাই ), তবে আমি default-path
সেশন বিকল্পটি এর মাধ্যমে সেট করব via
tmux set-option default-path "$PWD"
ইতিমধ্যে কাঙ্ক্ষিত বর্তমান কার্যনির্বাহী ডিরেক্টরি রয়েছে এমন শেলটিতে (যদিও আপনি অবশ্যই এটি কোনও ডিরেক্টরি থেকে করতে পারেন এবং পরিবর্তে মান নির্দিষ্ট করতে পারেন)।
যদি default-path
একটি শূন্য-না মানকে সেট করা থাকে তবে এর মানটি বর্তমান ওয়ার্কিং ডিরেক্টরিটি হ'ল কমান্ড-লাইন অনুরোধ থেকে "উত্তরাধিকারসূত্রে" পরিবর্তে ব্যবহৃত হবে tmux neww
।
Tmux প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী শীর্ষক একটা এন্ট্রি আছে যা অন্য পদ্ধতির বর্ণনা "আমি বর্তমান উইন্ডো হিসাবে একই ডিরেক্টরির মধ্যে একটি নতুন উইন্ডোতে খুলবো কী করে?"; যদিও এটি কিছুটা বিশৃঙ্খলাবদ্ধ।
/proc/PID/cwd
লিনাক্সে))। সেখানে সম্ভব আংশিক সমাধান একটি এন্ট্রি এর tmux প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (এটা, শেল রেকর্ড তার cwd যখন এটি একটি প্রম্পট ছাপে হয়েছে তারপর একটি কী রেকর্ড ডিরেক্টরির মধ্যে একটি নতুন শেল শুরু binds)।
default-path
সেশন বিকল্পের মান (যদি সেট করা থাকে) ব্যবহার করে। Tmux প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী একটি এন্ট্রি যে একটি কী বর্তমান উইন্ডোর শেল চলমান cwd সঙ্গে একটি নতুন উইন্ডোতে শুরু বাঁধে একটি উপায় বর্ণনা আছে ( "আমি কিভাবে বর্তমান উইন্ডো হিসাবে একই ডিরেক্টরির মধ্যে একটি নতুন উইন্ডোতে খুলতে পারে?") , কিন্তু পদ্ধতিটি বেশ কনভলটেড। একই জন্য সম্ভবত split-window
এবং এর new-session
পরিবর্তে করা যেতে পারে neww
।
বর্তমান (1.9a) টিএমাক্স ম্যান পৃষ্ঠাটি -c start-directory
কিছু কমান্ডের জন্য একটি বিকল্প alচ্ছিক পরামিতি তালিকাভুক্ত করে new-window
এবং সহ split-window
। এটিতে বিন্যাসের ভেরিয়েবলও রয়েছে pane_current_path
যা এটি উল্লেখ করে
Current path if available
।
এগুলিকে একত্রিত করে, আমরা বর্তমান ওয়ার্কিং ডিরেক্টরিটি ব্যবহার করে একটি নতুন উইন্ডো খুলতে পারি
new-window -c "#{pane_current_path}"
বর্তমান পাতায় শূন্যস্থান উপস্থিত থাকলে উদ্ধৃতি প্রয়োজন।
আপনি যদি বর্তমান ফলকে উল্লম্বভাবে বিভক্ত করতে চান তবে
split-window -c "#{pane_current_path}"
অনুভূমিক বিভাজনের জন্য বা ব্যবহার করুন
split-window -h -c "#{pane_current_path}"
কী-র বাইন্ডিংগুলি ডিফল্টরূপে বর্তমান কার্যনির্বাহী ডিরেক্টরিতে নতুন বিভাজন এবং উইন্ডোগুলি খোলার জন্য, নিম্নলিখিতটি আপনারটিতে যুক্ত করুন .tmux.conf
। "
পার্শ্ববর্তী কোট দিয়ে Tmux বলতে এটি একটি স্ট্রিং শুরু করা উচিত নয় বরং বাঁধে হয় "কী।
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
prefix
- :
, তারপরে টাইপ করুনsource ~/.tmux.conf
tmux source-file .tmux.conf
।
হ্যাঁ, ব্যবহার new-window -c "#{pane_current_path}"
। ~/.tmux.conf
এটি অবিচ্ছিন্ন করতে আপনি নিম্নলিখিতটি যুক্ত করতে পারেন (ডিফল্ট কী-বাইন্ডিংগুলি ধরে রেখে):
bind c new-window -c "#{pane_current_path}"
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
default-path
পথ অস্ত যাবার সময় মুছে যেকোন একটি ব্যবহার করে মূল প্রজেক্টের কোড এবং tmux লেখক যে কমিট বার্তায় সুপারিশ থেকে -c "#{pane_current_path}"
বা -c "$PWD
মধ্যে new-window
এবং split-window
কমান্ড।
আমি এই সদৃশ প্রশ্নের উত্তরও দিয়েছি ।
Tmux এর সাম্প্রতিক সংস্করণগুলির সাথে (v1.8, তবে সম্ভবত v1.7 এও)
tmux new-window -c "$PWD"
tmux split-window -v -c "$PWD"
$PWD
tmux 1.9a তে আমার জন্য কাজ করতে দেখা যাচ্ছে না। pane_current_path
উপরের পরামর্শ মতো আমাকে ব্যবহার করতে হয়েছিল।
আমি যখন তাদেরকে বাইন্ডিং হিসাবে রাখার চেষ্টা করি (অন্যভাবে tmux split-window -c
) অন্য উত্তরগুলি আমার পক্ষে কার্যকর হয় না । তবে আমি আমার নিজস্ব সমাধান তৈরি করেছি যা আমি এক বছরেরও বেশি সময় ধরে ব্যবহার করছি যা নতুন উইন্ডো এবং বিভক্ত উভয়ের জন্যই কাজ করে:
~/.bashrc
:
PS1="$PS1"'$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#D" | tr -d %) "$PWD")'
~/.tmux.conf
:
unbind-key c
bind-key c run-shell 'tmux new-window "cd \"$(tmux show-environment $(echo "TMUXPWD_#D" | tr -d %) | sed -e "s/^.*=//")\"; exec $SHELL"'
bind-key C new-window
bind-key - run-shell 'tmux split-window -v "cd \"$(tmux show-environment $(echo "TMUXPWD_#D" | tr -d %) | sed -e "s/^.*=//")\"; exec $SHELL"'
bind-key | run-shell 'tmux split-window -h "cd \"$(tmux show-environment $(echo "TMUXPWD_#D" | tr -d %) | sed -e "s/^.*=//")\"; exec $SHELL"
কমপক্ষে, $ (tmux -V) 1.8 দিয়ে কাজ করে। পুরানো tmuxes এর শো-এনভায়রনমেন্ট কমান্ড নেই এমন সংস্করণের জন্য এখানে মন্তব্য করা লাইনগুলি দেখুন ।
tmux এটি 1.8 সংস্করণে করেছে তবে 1.9-এ -c
পতাকাটি ব্যবহারের পক্ষে এই বৈশিষ্ট্যটি সরানো হয়েছে ।
এটি সমাধান করা যেতে পারে তবে পুনরায় বাঁধাই করা যায় new-window
তবে আপনি অন্য কোনও কিছু চালাতে চান এটি খুব স্পষ্ট হয়ে ওঠে: টাইপের পরিবর্তে neww man tmux
আপনাকে টাইপ করতে হবে neww -c "#{pane_current_path}" man tmux
যা আপনি সম্ভবত করতে চান না।
'মোড', ভেরিয়েবল, লুপ ইত্যাদিতে একাধিক কমান্ড আবদ্ধ করার জন্য টিএমউক্সে সঠিক স্ক্রিপ্টিং ভাষা যুক্ত করার জন্য টিএমউক্সের একটি মোড আছে (আমি লেখক) এবং এছাড়াও, এটি আচরণটি ফিরিয়ে আনে : বর্তমান ডিরেক্টরিতে নতুন উইন্ডো এবং প্যানগুলি খোলা আছে।
এটি উত্স থেকে এখানে নির্মিত যেতে পারে: http://ershov.github.io/tmux/
<prefix>c
অন্তর্নিহিত শেল ইনস্ট্যান্সের কার্যকরী ডিরেক্টরিটি পড়ার জন্য আমি কোনও মানচিত্র তৈরি করতে পারি (যদি থাকে) এবংdefault-path
কার্যকর করার পূর্বে সেট করেnew-window
। অথবা এটি কি খুব বেশি tmux জিজ্ঞাসা করার জন্য :)