বাশ + আইটর্ম 2 দিয়ে, ট্যাবগুলির নাম কীভাবে রাখবেন?


176

আইটির্ম 2 (বিল্ড 1.0.0.20120203) এ, আমি সাধারণত বেশ কয়েকটি ট্যাব খোলি যার প্রত্যেকটির স্প্লিট ফলক রয়েছে এবং এটি কাজের একটি বিশেষ থিম, উদাহরণস্বরূপ সংশোধন নিয়ন্ত্রণ, কোডিং, ফাইল পরিচালনা, মাইএসকিএল টার্মিনাল কাজ। আমার সাধারণত আমার কাজের প্রবাহে 5 বা ততোধিক ট্যাবগুলির মধ্যে স্যুইচ করতে হবে। কখনও কখনও পর্দার সামগ্রী দেখে কোনটি মনে রাখা বা বলা শক্ত হয়। আমি কোনওভাবে ট্যাবগুলির নাম রাখতে চাই, তাই দ্রুত ঝলক দেখিয়ে কোনটি কোন তাড়াতাড়ি বলতে পারি। এটা কি সম্ভব?



পুরোপুরি সদৃশ নয়। তাহলে ট্যাব শিরোনামের অংশ হিসাবে বর্তমানে চলমান অ্যাপটি কীভাবে যুক্ত করবেন? অর্থাৎ কোন ট্যাবটি ইম্যাকস, মাইএসকিএল ইত্যাদি চলছে?
কাজাজউক্স

1
অর্থাৎ আমার সমস্ত ট্যাবে একই হোস্ট এবং ব্যবহারকারী রয়েছে। সুতরাং এগুলি ব্যবহার করা আমার ট্যাবগুলিকে আলাদা করবে না।
কাজাজউক্স

আপনি মানে আপনি আইটর্মের পছন্দগুলি থেকে বর্তমান কাজের নাম দেখান ? নোট করুন যে লিঙ্কযুক্ত বিষয়টি ব্যবহারকারীর নাম বা হোস্ট সম্পর্কে নয়।
ড্যানিয়েল বেক

ঠিক আছে, আমি প্রতিটি ট্যাবগুলিতে কোন প্রোগ্রামটি চলছে বা চালিত হয়েছিল সে সম্পর্কে কিছুটা ইঙ্গিত দেখাতে চাই। এছাড়াও, অন্যান্য পোস্টে প্রদত্ত সমাধানটি ব্যাশ + আইটার্ম 2 এর জন্য কাজ করে না।
qazwsx

উত্তর:


212

যেহেতু আপনি ম্যাকের উপর এটিર્મ 2 ব্যবহার করছেন তাই অন্য একটি বিকল্প হ'ল আপনি হিট করতে পারেন CmdI, কিছু টাইপ করতে পারেন এবং আঘাত করতে পারেন ESC

টার্মিনাল সমাধানটি এর চেয়ে কিছুটা দ্রুত, তবে কেবল আপনাকে জানাতে চেয়েছিল।


11
আমি আমার নাম পরিবর্তন করে রেখেছি এমন ট্যাবটিতে রিটার্ন প্রদান না করা পর্যন্ত এটি এক সেকেন্ডের জন্য কাজ করে।
স্টিওই

15
@ স্টিওয়ে ইন পছন্দসমূহ -> প্রোফাইল -> টার্মিনাল, "উইন্ডো শিরোনাম রিপোর্ট করার জন্য টার্মিনালকে মঞ্জুরি দিন" আনচেক করুন।
ম্যাক্স ক্যান্টর

3
এটি যাচাই করা হয়। এটি এখনও শিরোনামটির নামকরণ করে।
স্টিভি

6
@ স্টিভবেনেট এটি "থিম" নয় (আসলে শব্দটি "প্রোফাইল"); সিএমডি + আই কমান্ডটি হ'ল "বর্তমান সেশন সম্পাদনা করুন ..." (ভিউ মেনুতে), সুতরাং এটি কেবলমাত্র প্রোফাইলের সেই ট্যাবটির উদাহরণটি পরিবর্তন করছে। হিট এস্কেপটি কেবল উইন্ডোটি বন্ধ করে দেয় যা প্রয়োজনীয় কারণ যে উইন্ডোটিতে একটি "সংরক্ষণ" বোতাম নেই।
মিডনাইটলাইটিং

4
আপনার যদি একাধিক প্যান খোলা থাকে? ট্যাবটির পুরো নাম রাখার জন্য কি আপনার প্রত্যেকের নাম পরিবর্তন করতে হবে?
থিসফায়ার

119

আমি নীচের ফাংশনটি খুঁজে পেয়েছি, এটি আমার ~/.bashrcসহায়ক হতে পারে:

function title {
    echo -ne "\033]0;"$*"\007"
}

তারপরে আমি নীচে আমার বাশ প্রম্পট থেকে এটি কল করতে পারি:

> title I want a pony!

এবং আমার ট্যাব অনুসারে শিরোনাম হয়।


1
আমি এটি চেষ্টা করেছিলাম, কিন্তু এটি এখনও কাজ করে না। আমি এই সংজ্ঞাটি এতে রেখেছি bash_aliasesএবং এটি .profile( if [ -f ${HOME}/.bash_aliases ]; then . ${HOME}/.bash_aliases fi) এ লোড করা হয়েছে তবে তারপরে title dogট্যাব শিরোনামটিকে "কুকুর" রূপান্তরিত করে নি
qazwsx

2
+1 - আমি আমার নিজের নাম / ইত্যাদি / প্রোফাইলে যুক্ত করেছি কেবল কারণেই আমার এলিয়াস রয়েছে ... আপনার কাজ শেষ হওয়ার পরে ফাইলটি উত্স করতে ভুলবেন না। দ্রষ্টব্য: এটি টার্মিনালেও কাজ করে।
બ્લેক 3

3
খুব উপকারী. আমি একটা পনি চেয়েছিলাম; এবং আমি একটি পেয়েছিলাম!
SoEzPz

1
আমি আমার .bash_ প্রোফাইলে ,ুকলাম, পুনরায় শুরু করলাম এবং এটি কবজির মতো কাজ করেছে।
সি জনসন

1
যারা ভাবছেন এটি কাজ করে না কারণ আপনার কমান্ড তাত্ক্ষণিকভাবে এটিকে আবার ফিরিয়ে দেয়। চেষ্টা করুন title dog && sleep 5এবং আপনি দেখতে পাবেন যে এটি কাজ করে। এটিকে সম্বোধনের জন্য @ স্কেপেটের উত্তরটি নোট করুন
মিখাইল

45

আপনার ট্যাব বা উইন্ডোর শিরোনাম সেট করতে এই কমান্ডটি চালান:

export PROMPT_COMMAND='echo -ne "\033]0;YOUR NAME HERE\007"'

আমি ~/.bash_profileসর্বদা আমার বাড়ির দির সাথে সম্পর্কিত বর্তমান ডিরেক্টরিটি তালিকাবদ্ধ করতে আমার সাথে নিম্নলিখিতগুলি যুক্ত করেছি :

export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'

আপনার ডকটিতে যখন আপনার 100 টি ন্যূনতম টার্মিনাল রয়েছে তখন দরকারী

ম্যাক ওয়ার্ল্ড টুপি


এই রফতানি কমান্ডে পালানো কোনও কারণেই আমার বাশকে যথেষ্ট কাজ করতে পারেনি (v5.0.7), এখানে আমার জন্য যা কাজ করেছে তা এখানে রয়েছে:export PROMPT_COMMAND='echo -ne "\033]0;${PWD/$HOME/\~}\007"'
মাইক ফোগেল

18

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

উদাহরণ

এটির জন্য নোড দরকার , তবে এটি এখন একটি সাধারণভাবে ইনস্টল করা প্ল্যাটফর্ম। স্থাপন করা:

npm install -g iterm2-tab-set

এটা সত্যিই দারুন! আমি বিশেষত ট্যাব রঙের অটো সেটিংটি পছন্দ করি। ধন্যবাদ!
আশুতোষ জিন্দাল

1
কি দারুন! এটা খুব ভালো একটা যন্ত্র!
dmulvi

আমি বর্তমানে গৃহীত উত্তরে বর্ণিত পরিবর্তনের পরিবর্তে এই পদ্ধতিটি ব্যবহার করছি (<kbd> সিএমডি </ কেবিডি> <কেবিডি> আমি </ কেবিডি>, কিছু টাইপ করুন এবং <kbd> ইসি </ কেবিডি>)
qazwsx

but that is now a commonly installed platformহাহাহা.হাহা ... হা ......, অপেক্ষা কর, তুমি কি সিরিয়াস ?
ভুয়া নাম

হ্যাঁ, গুরুতর। বিকাশকারী এবং ডিওপস লোকেরা - এই দিনগুলিতে টার্মিনাল অ্যাপ্লিকেশনগুলির প্রাকৃতিক লক্ষ্য শ্রোতা — নোড.জে ইনস্টল করেছেন s অথবা সহজেই ইনস্টল করতে পারেন। যাঁরা / পারেন না তাদের বাশ / জেডএস / ইত্যাদি ভিত্তিক পদ্ধতির কাছে ফিরে আসতে স্বাগত।
জোনাথন ইউনিস

16

আপনার ~/.bash_profileফাইলে এই ফাংশনটি যুক্ত করুন এবং এটি কাজ করা উচিত।

function title ()
{
    TITLE=$*;
    export PROMPT_COMMAND='echo -ne "\033]0;$TITLE\007"'
}

7

আমার এটা ভাল লেগেছে:

#setup terminal tab title
function title {
    if [ "$1" ]
    then
        unset PROMPT_COMMAND
        echo -ne "\033]0;${*}\007"
    else
        export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'
    fi
}
title

এটি আপনাকে একটি কাস্টম নাম এবং আপনার CWD এর একটি ডিফল্টের মধ্যে একটি ট্যাবের নাম টগল করতে দেয় gle

title -> আপনার ট্যাব শিরোনাম হবে ~/YOUR_CWD/

title hey there -> আপনার ট্যাব শিরোনাম হবে hey there


মনে রাখবেন যে যেমন রয়েছে, এটি আইটার্ম শেল ইন্টিগ্রেশনকে ক্লোবার
মাইকেল

5

আমি সত্যিই টেলরস্টাইন এর উত্তর পছন্দ করি তবে এটি আইটির্ম 2 এর শেল ইন্টিগ্রেশন ভেঙে দেয় যা PROMPT_COMMANDভেরিয়েবলের উপর নির্ভর করে । আপনি __bp_precmd_invoke_cmdযে PROMPT_COMMANDকোনও সময় টিঙ্কারের সাথে পিছনে যুক্ত করে এটি সংশোধন করতে টেলরের কোডটি সংশোধন করতে পারেন :

# iTerm2 shell integration
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"

# iTerm2 tab titles
function title {
    if [ "$1" ]
    then
        export PROMPT_COMMAND='__bp_precmd_invoke_cmd'
        echo -ne "\033]0;${*}\007"
    else
        export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/\~}\007";__bp_precmd_invoke_cmd'
    fi
}
title

3

আমি মাইকেল এর উত্তর পছন্দ।

কিন্তু যদি .iterm2_shell_integration.bashঅস্তিত্ব না থাকে?

এখানে আমার গ্রহণ:

# iTerm2 shell integration
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"

# iTerm2 tab titles
function title {
  if [ "$1" ] ; then
    test -e "${HOME}/.iterm2_shell_integration.bash" \
      && export PROMPT_COMMAND='iterm2_preexec_invoke_cmd' \
      || unset PROMPT_COMMAND
    echo -ne "\033]0;${*}\007"
  else
    test -e "${HOME}/.iterm2_shell_integration.bash" \
      && export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007";iterm2_preexec_invoke_cmd' \
      || export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'
  fi
}
title

1
মনে রাখবেন যে, v3.1 এ, iterm2_preexec_invoke_cmdপরিণত হয়েছে__bp_precmd_invoke_cmd
মাইকেল

2

আপনি যদি প্রোফাইলগুলির সাথে কাজ করছেন (যা খুব সুবিধাজনক): পছন্দসমূহ -> উপস্থিতি -> উইন্ডো এবং ট্যাব শিরোনাম: 'প্রোফাইলের নাম দেখান' টিক দিন:

ভাবমূর্তি

এটি এর পরে দেখায়:

থাম্বনেইল মূল চিত্রের সাথে যুক্ত


2
Preferences -> Profiles -> Terminal
  uncheck Terminal may set Tab/Window title

ম্যাক্স ক্যান্টারের মন্তব্য আমার পক্ষে কাজ করেছে।


1

আমি মনে করি স্বয়ংক্রিয় প্রোফাইল স্যুইচিং এবং ব্যাজগুলি আপনার প্রয়োজনের জন্য ঠিক ডিজাইন করা হয়েছে:

স্বয়ংক্রিয় প্রোফাইল স্যুইচিং আইটিার্ম 2 আপনার প্রোফাইলটি পরিবর্তন করতে আপনার বর্তমান পথ, হোস্টের নাম এবং ব্যবহারকারীর নাম সম্পর্কে জানে এমন তথ্য ব্যবহার করতে পারে। উদাহরণস্বরূপ, আপনার উইন্ডোর পটভূমির রঙ বা টার্মিনালের অক্ষর এনকোডিংটি বিভিন্ন হোস্টের সাথে সংযোগ করার সময় পরিবর্তন হতে পারে।

ব্যাজ আপনি বর্তমান সেশন সম্পর্কে তথ্য দেখিয়ে আপনার টার্মিনালের উপরের ডানদিকে একটি ব্যাজ রাখতে পারেন। এটি আপনার ব্যবহারকারীর নাম, হোস্টনাম, বা বর্তমান গিট শাখার মতো কাস্টম ডেটাও প্রদর্শন করতে পারে।

সুতরাং ফলাফলটি পছন্দ করতে পারে:

এখানে চিত্র বর্ণনা লিখুন


রেফারেন্স লিঙ্ক (গুলি) থেকে উত্তরের প্রয়োজনীয় অংশগুলি উদ্ধৃত করুন, কারণ লিঙ্কযুক্ত পৃষ্ঠা (গুলি) পরিবর্তন হলে উত্তরটি অবৈধ হতে পারে।
ডেভিডপস্টিল

0

আমি নির্ভুল স্বচ্ছতার জন্য বি সেভেনের উত্তরটি কিছুটা বাড়িয়ে দিতে চাই ।

যেহেতু আমরা বেশিরভাগই জানতে চাইছি যে কোনও ব্যক্তি কোনও ট্যাবের শিরোনাম সেট করতে পারে এমনকি তারা স্থানীয় শেলটিতে নেই, এমনকি দূরবর্তী শেলের পরিবর্তে (যেমন এসএসএসের উপরে)।

ধাপ 1. Preferences -> Profiles -> Terminal uncheck Terminal may set Tab/Window title

পদক্ষেপ 2. প্রতিটি ট্যাব জন্য, double click on the tab -> Session Title

এখন, আপনি সেশন শিরোনামে যা যা সেট করেছেন, এটি যেমন রয়েছে তেমন থাকবে।


-2

ইউক, এই সমস্ত এলিয়াস এবং ফাংশন। আরও সহজ সমাধান (যদি আপনি মূল হন), এটি একটি টার্মিনালে পেস্ট করুন:

TARGET=/usr/bin/title
sudo tee "$TARGET" <<'EOF'
#!/usr/bin/env bash
echo -ne "\033]0;$*\007"
EOF
sudo chmod 755 "$TARGET"

অথবা আপনার পথে বা বৈশ্বিক পথে কোথাও একটি ফাইল কল শিরোনাম তৈরি করুন এবং EOF এর মধ্যে দুটি লাইন আটকে দিন।


12
"ইউক সমস্ত উপনামের সাথে।" প্রবেশের উত্তর প্রবেশ করে কেউ হাত দ্বারা স্মরণ করতে বা টাইপ করতে পারে না।
ড্যান

1
এই বলার অপেক্ষা রাখে না @Dan মহান, কারণ এটি শুধু একটি স্ক্রিপ্ট নামক তৈরি হয়ে থাকে যে মনে রাখা দরকার নেই শুধু যে titleমধ্যে /usr/bin
এমিল বার্গারন

@ এমিলিবার্গারন থেক্স, যদিও মনে হয় আপনি (আমরা) সংখ্যালঘুতে রয়েছি। উত্তরটি ছিল মাত্র 1 লাইন, বাকীটি অলস লোকের জন্য।
ওড়ওলোফিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.