উত্তর:
ওহ-মাই-জেডশ ব্যবহার করুন এবং আপনার ~ / .zshrc এ 'ওক্স' প্লাগইন যুক্ত করুন:
plugins=(osx)
আপনি যদি ওএসএক্সের টার্মিনাল অ্যাপ ব্যবহার করেন তবে আপনাকে প্লাগইনও যুক্ত করতে terminalapp
হবে: ক্রেডিট
plugins=(osx terminalapp)
আপনি যদি আইটির্ম ব্যবহার করেন তবে আপনাকে একটি কনফিগারেশন বিকল্প সেট করতে হবে ( নোট করুন যে এটির জন্য আপনার জেডএস প্লাগিনগুলির প্রয়োজন নাও হতে পারে ): ক্রেডিট
পছন্দসমূহ> প্রোফাইল> ডিফল্ট> সাধারণ> কার্যকারী ডিরেক্টরি> পূর্ববর্তী সেশনের ডিরেক্টরি বিকল্পটি পুনরায় ব্যবহার করুন
আপনার যা করা দরকার তা-ই!
rails
চলমান বলুন এবং আমি কমান্ড-এন-এর মাধ্যমে একটি নতুন উইন্ডো খোলার চেষ্টা করি, আমি আমার হোম ডিরেক্টরিতে ফিরে এসেছি।
ম্যাক ওএস এক্স লায়নটিতে এখন উপলভ্য আরেকটি বিকল্প অন্তর্নির্মিত বৈশিষ্ট্যটি ব্যবহার করছে। এটি বর্তমান ডিরেক্টরিটি খুঁজে পেতে 'এস্কেপ সিকোয়েন্স' ব্যবহার করে। আমার জন্য এটি কাজ করে যদি আমি আমার .zshrc এ এই আদেশগুলি ব্যবহার করি:
precmd () {print -Pn "\e]2; %~/ \a"}
preexec () {print -Pn "\e]2; %~/ \a"}
এটি ব্যবহার করাও সম্ভব PS1
(বাশের জন্য, এই উইকি থেকে ):
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\] "
\e]2;
শিরোনামদণ্ডে জিনিসগুলি মুদ্রণের জন্য কোথায় পালানোর ক্রম রয়েছে। দেখে মনে হচ্ছে টার্মিনাল.অ্যাপ সেখান থেকে এর তথ্য পাচ্ছে।
অধিক তথ্য:
/etc/bashrc
আপনি দেখতে পাবেন যে এটি কোনও file:
ইউআরএল ব্যবহার করে ওয়ার্কিং ডিরেক্টরিটির টার্মিনালটি জানাতে একটি নতুন এস্কেপ কোডকে সমর্থন করে , যা শতাংশ-এনকোডিংয়ের মাধ্যমে সমস্ত বৈধ পথের নাম পরিচালনা করতে পারে (উইন্ডো / ট্যাব শিরোনামগুলিতে কেবলমাত্র ASCII অক্ষরের একটি উপসেট থাকতে পারে) )।
\e]7;file://hostname/percent-encoded-pathname\a
chpwd () {print -Pn "\e]2; %~/ \a"}
?
এটি খুব সহজ সংস্করণ যা আমি ব্যাশে ব্যবহার করেছি এবং zsh এও কাজ করি। এটি প্রতিটি কমান্ডের পরে কোনও ফোল্ডারে বর্তমান ফোল্ডারটি সংরক্ষণ করে (খুব বেশি আইএমও ক্ষতি করে না) এবং সেভ করা বর্তমান ফোল্ডারে একটি নতুন টার্মিনাল খোলে।
.zshrc এ নিম্নলিখিতগুলি যুক্ত করুন
# emulate bash PROMPT_COMMAND (only for zsh)
precmd() { eval "$PROMPT_COMMAND" }
# open new terminal in same dir
PROMPT_COMMAND='pwd > "${HOME}/.cwd"'
[[ -f "${HOME}/.cwd" ]] && cd "$(< ${HOME}/.cwd)"
gdirs প্রায় এটি করার একটি উপায় মত মনে হচ্ছে: নতুন ট্যাব, তারপরে gdirs গভীর ডিরেক্টরি এবং voila নির্বাচন করতে। আমার প্রথম ধারণাটি হ'ল ডিরেক্টরি স্ট্যাকটি সমস্ত ট্যাবগুলির মধ্যে ভাগ করা এবং নতুন ট্যাবের পরে সিডি ~ 1 করা, তবে আমি কীভাবে এটি করতে পারি তা খুঁজে পাচ্ছি না, যেমন মনে হয় zsh এর প্রতিটি উদাহরণ নিজস্ব রাখে। ইতিহাস ভাগ করে নেওয়া একটি সাধারণ ফাইলের মধ্য দিয়ে যায়, তাই সম্ভবত এটি এখানেও করা যেতে পারে ...
এইভাবে আপনি এটি বাশ করতে।
এই শেল স্ক্রিপ্টটি বলবে (অ্যাপলস্ক্রিপ্টটি ব্যবহার করে নিঃশব্দে) টার্মিনাল.এপ নতুন ট্যাব খুলতে তারপরে বর্তমান ডিরেক্টরিতে স্যুইচ করুন:
#!/bin/bash
osascript -e 'tell application "Terminal"' \
-e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' \
-e "do script with command \"cd `pwd`;clear\" in selected tab of the front window" \
-e 'end tell' &> /dev/null
… উপরের শেল স্ক্রিপ্টটি আপনার $PATH
(যেমন / usr / স্থানীয় / বিন) একটি ডিরেক্টরিতে রেখে দিন এবং তা নির্বাহযোগ্য তা নিশ্চিত করুন:
$ chmod +x /usr/local/bin/nt
( উত্স )
আপনার কনফিগার ফাইল পরিবর্তন না করে বা নতুন প্লাগইন ইনস্টল না করে এখনই যদি এই নতুন ট্যাবটি খোলার দরকার হয় তবে এটি চালান:
pwd | pbcopy
তারপরে ম্যানুয়ালি একটি নতুন টার্মিনাল ট্যাব খুলুন (⌘T সহ) এবং নতুন ট্যাবে:
cd "`pbpaste`"
সতর্কতা : এটি সিস্টেম ক্লিপবোর্ডের বিষয়বস্তুগুলিকে ওভাররাইট করবে।
ক্লিপবোর্ডটি ওভাররাইট না করে এমন একটি বিকল্প, দীর্ঘতর পদ্ধতি:
pwd > $TMPDIR/wd
আপনার নতুন ট্যাব খুলুন।
cd "$(cat $TMPDIR/wd)"
rm -f $TMPDIR/wd
আপনি যদি একটি নতুন ট্যাব খুললে ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে পরিবর্তিত হতে চান তবে ডায়ারস্পিস্ট প্লাগইনটি ব্যবহার করুন ।
ওএসএক্স প্লাগইনটি কেবল সর্বশেষ ডিরেক্টরিটি সংরক্ষণ করে তবে tab
একটি নতুন ট্যাব খোলার জন্য আপনাকে কমান্ডটি চালাতে হবে , যা সর্বদা সম্ভব হয় না (যদি বলি যে আপনি আপনার বর্তমান ট্যাবে কিছু চালাচ্ছেন)।
.Zshrc এ টার্মিনালাপ যুক্ত করা আমার পক্ষে কাজ করে না তাই আমি প্লাগইনটি সন্ধান করেছি ~/.oh-my-zsh/plugins/terminalapp
এবং এটি আমাকে বলে:
# This file is intentionally empty.
#
# The terminalapp plugin is deprecated and may be removed in a future release.
# Its functionality has been folded in to the core lib/termsupport.zsh, which
# is loaded for all users. You can remove terminalapp from your $plugins list
# once all your systems are updated to the current version of Oh My Zsh.