একই ডিরেক্টরিতে একটি নতুন ট্যাব খুলুন


41

বলুন আপনি / খুব / শীতল / এবং / গভীরভাবে / নেস্টেড / ফোল্ডারে রয়েছেন। এবং আপনি একই ফোল্ডারে একটি নতুন টার্মিনাল ট্যাব খুলতে চান।

আপনি এটা কিভাবে করবেন?

আমি ম্যাক ওএস এবং জেডএস ব্যবহার করি।

উত্তর:


62

ওহ-মাই-জেডশ ব্যবহার করুন এবং আপনার ~ / .zshrc এ 'ওক্স' প্লাগইন যুক্ত করুন:

plugins=(osx)

আপনি যদি ওএসএক্সের টার্মিনাল অ্যাপ ব্যবহার করেন তবে আপনাকে প্লাগইনও যুক্ত করতে terminalappহবে: ক্রেডিট

plugins=(osx terminalapp)

আপনি যদি আইটির্ম ব্যবহার করেন তবে আপনাকে একটি কনফিগারেশন বিকল্প সেট করতে হবে ( নোট করুন যে এটির জন্য আপনার জেডএস প্লাগিনগুলির প্রয়োজন নাও হতে পারে ): ক্রেডিট

পছন্দসমূহ> প্রোফাইল> ডিফল্ট> সাধারণ> কার্যকারী ডিরেক্টরি> পূর্ববর্তী সেশনের ডিরেক্টরি বিকল্পটি পুনরায় ব্যবহার করুন

পূর্ববর্তী সেশন ডিরেক্টরিটি পুনরায় ব্যবহার করতে iTerm2 অগ্রাধিকার প্যানেল আপডেট।

আপনার যা করা দরকার তা-ই!


1
এটি কি আইটার্মেও কাজ করে?
আহ্মি

1
@ অহমিকে দেখে মনে হচ্ছে এটি করা উচিত: github.com/robbyrussell/oh-my-zsh/blob/master/plugins/osx/…
ফিলাফ্রেও

2
কনসোলে কোনও প্রক্রিয়া চালানো না হলে এটি আমার পক্ষে কাজ করে। আমার যদি কোনও প্রক্রিয়া থাকে, railsচলমান বলুন এবং আমি কমান্ড-এন-এর মাধ্যমে একটি নতুন উইন্ডো খোলার চেষ্টা করি, আমি আমার হোম ডিরেক্টরিতে ফিরে এসেছি।
YWCA হ্যালো

@YWCAHello আপনি কি এই সমস্যার সমাধান খুঁজে পেয়েছেন?
মিচা মিসজকিজিসিন

@ মিজি আমি ভ্যানিলা বাশে ফিরে এসেছি: /
ওয়াইডাব্লুসিএ হ্যালো

23

ম্যাক ওএস এক্স লায়নটিতে এখন উপলভ্য আরেকটি বিকল্প অন্তর্নির্মিত বৈশিষ্ট্যটি ব্যবহার করছে। এটি বর্তমান ডিরেক্টরিটি খুঁজে পেতে 'এস্কেপ সিকোয়েন্স' ব্যবহার করে। আমার জন্য এটি কাজ করে যদি আমি আমার .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 অক্ষরের একটি উপসেট থাকতে পারে) )।
ক্রিস পেজ

2
ওয়ার্কিং ডিরেক্টরি সেট করার জন্য পলায়ন ক্রমটি হ'ল শিরোনাম নির্ধারণের জন্য একই বেসিক কোড — অপারেটিং সিস্টেম কমান্ড (ওএসসি) - কোডটি 0-2-এর পরিবর্তে 7 এর সাথে:\e]7;file://hostname/percent-encoded-pathname\a
ক্রিস পেজ

3
প্রিমিড এবং প্রিক্সেক কেন ব্যবহার করবেন? শুধু কেন নয় chpwd () {print -Pn "\e]2; %~/ \a"}?
নিক

1
আমি কীভাবে এটি শিরোনামবারটি আপডেট করে তা বুঝতে পারি তবে কীভাবে এটি পূর্ববর্তী ট্যাবের একই ডিরেক্টরিতে একটি নতুন ট্যাব খুলতে দেয় তা আমি বুঝতে পারি না।
মারিওরাফ্ট

3

এটি খুব সহজ সংস্করণ যা আমি ব্যাশে ব্যবহার করেছি এবং 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)"

এটি দুর্দান্ত তবে আপনার আপডেট করার জন্য কোনও ট্যাবে একটি কমান্ড চালানো দরকার। এটি বিরল ক্ষেত্রে অপ্রত্যাশিত আচরণের কারণ হতে পারে। সম্ভবত কোনও আলাদা ফাংশন রয়েছে যা আমরা ব্যবহার করতে পারি যা আপনি কোনও কমান্ড চালানোর পরিবর্তে ট্যাবগুলিতে স্যুইচ করলে ট্রিগার হয়ে যায়?
মারিওরাফ্ট

1

gdirs প্রায় এটি করার একটি উপায় মত মনে হচ্ছে: নতুন ট্যাব, তারপরে gdirs গভীর ডিরেক্টরি এবং voila নির্বাচন করতে। আমার প্রথম ধারণাটি হ'ল ডিরেক্টরি স্ট্যাকটি সমস্ত ট্যাবগুলির মধ্যে ভাগ করা এবং নতুন ট্যাবের পরে সিডি ~ 1 করা, তবে আমি কীভাবে এটি করতে পারি তা খুঁজে পাচ্ছি না, যেমন মনে হয় zsh এর প্রতিটি উদাহরণ নিজস্ব রাখে। ইতিহাস ভাগ করে নেওয়া একটি সাধারণ ফাইলের মধ্য দিয়ে যায়, তাই সম্ভবত এটি এখানেও করা যেতে পারে ...


0

এইভাবে আপনি এটি বাশ করতে।

এই শেল স্ক্রিপ্টটি বলবে (অ্যাপলস্ক্রিপ্টটি ব্যবহার করে নিঃশব্দে) টার্মিনাল.এপ নতুন ট্যাব খুলতে তারপরে বর্তমান ডিরেক্টরিতে স্যুইচ করুন:

#!/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

( উত্স )


মনে রাখবেন যে ম্যাক ওএস এক্স লায়ন ১০.7 হিসাবে, ডিফল্টরূপে টার্মিনাল পূর্ববর্তী ট্যাবের মতো একই কার্যকারী ডিরেক্টরিতে নতুন ট্যাব শুরু করবে। সুতরাং আপনাকে কেবল এখনই ট্যাবটি তৈরির ব্যবস্থা করতে হবে। (আপনি যদি ব্যাশ ব্যবহার করছেন। আপনি যদি অন্য শেল ব্যবহার করে থাকেন তবে বর্তমান ওয়ার্কিং ডিরেক্টরি সম্পর্কে টার্মিনালটি কীভাবে জানাতে হয় তার জন্য / ইত্যাদি / বাশার্কে কোডটি দেখুন))
ক্রিস পেজ

0

আপনার কনফিগার ফাইল পরিবর্তন না করে বা নতুন প্লাগইন ইনস্টল না করে এখনই যদি এই নতুন ট্যাবটি খোলার দরকার হয় তবে এটি চালান:

pwd | pbcopy

তারপরে ম্যানুয়ালি একটি নতুন টার্মিনাল ট্যাব খুলুন (⌘T সহ) এবং নতুন ট্যাবে:

cd "`pbpaste`"

সতর্কতা : এটি সিস্টেম ক্লিপবোর্ডের বিষয়বস্তুগুলিকে ওভাররাইট করবে।


ক্লিপবোর্ডটি ওভাররাইট না করে এমন একটি বিকল্প, দীর্ঘতর পদ্ধতি:

pwd > $TMPDIR/wd

আপনার নতুন ট্যাব খুলুন।

cd "$(cat $TMPDIR/wd)"
rm -f $TMPDIR/wd

0

উপরের পিটারের মন্তব্য অনুযায়ী, একবার plugins=(git osx)প্লাগইনগুলি ইনস্টল হয়ে গেলে আপনি কেবল টাইপ করতে পারেন tabএবং এটি আপনার বর্তমান ডিরেক্টরিতে একটি নতুন ট্যাব খুলবে।


0

আপনি যদি একটি নতুন ট্যাব খুললে ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে পরিবর্তিত হতে চান তবে ডায়ারস্পিস্ট প্লাগইনটি ব্যবহার করুন ।

ওএসএক্স প্লাগইনটি কেবল সর্বশেষ ডিরেক্টরিটি সংরক্ষণ করে তবে tabএকটি নতুন ট্যাব খোলার জন্য আপনাকে কমান্ডটি চালাতে হবে , যা সর্বদা সম্ভব হয় না (যদি বলি যে আপনি আপনার বর্তমান ট্যাবে কিছু চালাচ্ছেন)।


0

.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.

0

একই ফোল্ডারে নতুন ট্যাব ইতোমধ্যে খোলা হয়েছে (সিএমডি + টি)। নতুন উইন্ডোগুলির জন্য (সিএমডি + এন) পিটার থেকে সমাধানটি সঠিক:

পছন্দসমূহ> প্রোফাইল> ডিফল্ট> সাধারণ> কার্যকারী ডিরেক্টরি> পূর্ববর্তী সেশনের ডিরেক্টরি বিকল্পটি পুনরায় ব্যবহার করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.