Bash + iTerm2 සමඟ, ටැබ් නම් කරන්නේ කෙසේද?


187

ITerm2 (බිල්ඩ් 1.0.0.20120203) හි, මම සාමාන්‍යයෙන් ටැබ් කිහිපයක් විවෘත කරමි, ඒ සෑම එකක්ම බෙදීම් පැනල් ඇති අතර එය එක් විශේෂිත වැඩ තේමාවක් වේ, උදාහරණයක් ලෙස සංශෝධන පාලනය, කේතීකරණ, ලිපිගොනු කළමනාකරණය, mysql පර්යන්ත වැඩ. මට සාමාන්‍යයෙන් මගේ වැඩ ප්‍රවාහයේ ටැබ් 5 ක් හෝ වැඩි ගණනක් අතර මාරු විය යුතුය. තිරයේ අන්තර්ගතය දෙස බැලීමෙන් මතක තබා ගැනීම හෝ කීම සමහර විට දුෂ්කර ය. මම කෙසේ හෝ ටැබ් නම් කිරීමට කැමතියි, එබැවින් ඉක්මනින් බැලීමෙන් කුමන දේදැයි මට ඉක්මනින් කිව හැකිය. මෙය කළ හැකිද?



සම්පූර්ණයෙන්ම අනුපිටපත් නොවේ. ටැබ් මාතෘකාවේ කොටසක් ලෙස දැනට ක්‍රියාත්මක වන යෙදුම එකතු කරන්නේ කෙසේද? එනම් emacs, mysql යනාදිය ක්‍රියාත්මක වන ටැබ් එක කුමක්ද?
qazwsx

1
මගේ සියලුම ටැබ් එකම සත්කාරක සහ පරිශීලක ඇත. එබැවින් ඒවා භාවිතා කිරීමෙන් මගේ ටැබ් වෙනස් නොවේ.
qazwsx

ITerm හි මනාපයන්ගෙන් වත්මන් රැකියා නාමය පෙන්වීමට ඔබට අවශ්‍ය යැයි ඔබ අදහස් කරනවාද ? සම්බන්ධිත මාතෘකාව පරිශීලක නාමය හෝ ධාරකය ගැන නොවන බව සලකන්න.
ඩැනියෙල් බෙක්

හරි, එක් එක් ටැබ් තුළ ක්‍රියාත්මක වන හෝ ක්‍රියාත්මක වූ වැඩසටහන පිළිබඳ යම් ඇඟවීමක් පෙන්වීමට මට අවශ්‍යයි. එසේම, අනෙක් ලිපියේ දක්වා ඇති විසඳුම Bash + iTerm2 සඳහා ක්‍රියා නොකරයි.
qazwsx

Answers:


222

ඔබ මැක් මත iterm2 භාවිතා කරන බැවින්, තවත් විකල්පයක් නම් ඔබට පහර දීමට CmdI, යමක් ටයිප් කිරීමට සහ පහර දීමට ESCහැකිය.

ටර්මිනල් විසඳුම මෙයට වඩා ටිකක් ඉක්මන් ය, නමුත් ඔබට දැනුම් දීමට අවශ්‍ය විය.


11
මා නැවත නම් කළ ටැබයට නැවත නිකුත් කරන තුරු මෙය තත්පරයක් ක්‍රියාත්මක වේ.
ස්ටීවි

15
St මනාපයන්හි ස්ටීවි -> පැතිකඩ -> පර්යන්තය, "කවුළු මාතෘකාව වාර්තා කිරීමට පර්යන්තයට ඉඩ දෙන්න" යන්න සලකුණු නොකරන්න.
මැක්ස් කැන්ටර්

3
එය පරීක්ෂා කර නැත. එය තවමත් මාතෘකාව නැවත නම් කරයි.
ස්ටීවි

6
Te ස්ටීව් බෙනට් එය "තේමාව" නොවේ (ඇත්ත වශයෙන්ම මෙම පදය "පැතිකඩ" වේ); CMD + I විධානය "වත්මන් සැසිය සංස්කරණය කරන්න ..." (දර්ශන මෙනුව යටතේ), එබැවින් එය පැතිකඩෙහි ටැබ් උදාහරණය වෙනස් කිරීම පමණි. පැන යාම එබීමෙන් කවුළුව වැසෙයි, එම කවුළුවේ "සුරකින්න" බොත්තමක් නොමැති බැවින් එය අවශ්‍ය වේ.
මිඩ්නයිට් ලයිටින්

4
ඔබට බහු කවුළු විවෘතව තිබේ නම් කුමක් කළ යුතුද? ටැබ් එක මුළුමනින්ම නම් කිරීම සඳහා ඔබ එක් එක් නම වෙනස් කළ යුතුද?
theicfire

124

මට ~/.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 - මම මගේ / etc / profile වෙත මගේ එකතු කළෙමි, එයට හේතුව මගේ අන්වර්ථ නාමයන් ඇති තැනයි ... ඔබ අවසන් වූ පසු ගොනුව මූලාශ්‍ර කිරීමට අමතක නොකරන්න. සටහන: මෙය ද පර්යන්තයේ ක්‍රියාත්මක වේ.
blak3r

3
ඉතා ප්රයෝජනවත්. මට පොනි එකක් අවශ්‍ය විය; මට එකක් ලැබුණා!
SoEzPz

1
මම මගේ .bash_profile තුළට දමා, නැවත ආරම්භ කර එය චාම් එකක් මෙන් ක්‍රියා කළෙමි.
සී ජොන්සන්

1
එය ක්‍රියාත්මක නොවන්නේ යැයි සිතන අය එය ක්‍රියාත්මක කරන්නේ ඔබේ විධාන විමසුමේ ක්ෂණිකව එය නැවත වෙනස් කරන බැවිනි. උත්සාහ title dog && sleep 5කර බලන්න, එය ක්‍රියාත්මක වන බව ඔබට පෙනෙනු ඇත. මෙය ආමන්ත්‍රණය කිරීම සඳහා ch ෂ්පෙට් වෙතින් පිළිතුර සටහන් කරන්න
මිහායිල්

49

ඔබේ ටැබ් හෝ කවුළුවේ මාතෘකාව සැකසීමට මෙම විධානය ක්‍රියාත්මක කරන්න:

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"'
මයික් ෆොගල්

හොඳින් වැඩ කරයි. සම්පූර්ණ මාර්ගය වෙනුවට ලැයිස්තුගත කර ඇති අන්තිම නාමාවලිය පමණක් තිබීමට මා කැමතිය - සම්පූර්ණ මාවත දිගු වේ, එබැවින් කෙටියෙන් කියනු ලැබේ ..., එබැවින් බොහෝ ටැබ් ක්‍රියාත්මක වන විට නොපෙනේ.
ඩැනීජෙල්

මෙය පෙන්වන්නේ වත්මන් ඉහළ නාමාවලිය පමණි:export PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"'
ඩැනීජෙල්

20

මම ඉහත සඳහන් කළ විසඳුම් වලට සෑහෙන කාලයක් භාවිතා කළෙමි, නමුත් මම ප්‍රමාණවත් ටැබ් භාවිතා කරමි, ඒවා දෘශ්‍ය දෘශ්‍ය යොමු කිරීම සඳහා වර්ණ කේත කිරීමට අවශ්‍යය. ඒ නිසා මම එක් එක් ටැබ් එකේ කරන්නේ කුමන ආකාරයේ කාර්යයන් මත පදනම්ව ටැබ් මාතෘකාව, ලාංඡනය සහ වර්ණය සැකසීමේ උපයෝගීතාවයක් වන ටැබ්සෙට් එක.

උදාහරණයක්

එයට නෝඩ් අවශ්‍ය වේ , නමුත් එය දැන් බහුලව ස්ථාපනය කර ඇති වේදිකාවකි. ස්ථාපනය සඳහා:

npm install -g iterm2-tab-set

මේක නම් නියමයි! ටැබ් වර්ණය ස්වයංක්‍රීයව සැකසීමට මම විශේෂයෙන් කැමතියි. ඔබට ස්තුතියි!
අසුතෝෂ් ජින්ඩාල්

1
වාව්! මෙය විශිෂ්ට මෙවලමක්!
dmulvi

පිළිගත් පිළිතුරෙහි විස්තර කර ඇති ක්‍රමය වෙනුවට මම දැනට මෙම ක්‍රමය භාවිතා කරමි (<kbd> Cmd </kbd> <kbd> I </kbd>, යමක් ටයිප් කර <kbd> ESC </kbd>)
qazwsx

but that is now a commonly installed platformහහාහා.හා ... හ ......, ඉන්න, ඔබ බරපතලද ?
ව්‍යාජ නම

ඔව්, බරපතලයි. සංවර්ධකයින් සහ ඩිවෝප්ස් පුද්ගලයින් - මේ දිනවල, පර්යන්ත යෙදුම්වල ස්වාභාවික ඉලක්කගත ප්‍රේක්ෂකයින් - node.js ස්ථාපනය කර ඇත. නැතහොත් එය පහසුවෙන් ස්ථාපනය කළ හැකිය. කළ නොහැකි / කළ නොහැකි අය බැෂ් / zsh / යනාදිය පදනම් කරගත් ප්‍රවේශයන් වෙත ආපසු පැමිණීම සාදරයෙන් පිළිගනී.
ජොනතන් යුනිස්

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

අභිරුචි නමක් සහ ඔබේ සීඩබ්ලිව්ඩී පෙරනිමිය අතර ටැබ් එකක නම ටොගල් කිරීමට එය ඔබට ඉඩ දෙයි.

title -> ඔබේ ටැබ් මාතෘකාව වනු ඇත ~/YOUR_CWD/

title hey there -> ඔබේ ටැබ් මාතෘකාව වනු ඇත hey there



6

මම ඇත්තටම ටේලර්ස්ටයින්ගේ පිළිතුරට කැමතියි , නමුත් එය විචල්‍යය මත රඳා පවතින iTerm2 හි ෂෙල් අනුකලනය බිඳ දමයි 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

4

මම මයිකල්ගේ පිළිතුරට කැමතියි .

නමුත් .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

මම හිතන්නේ ස්වයංක්‍රීය පැතිකඩ මාරුව සහ ලාංඡන ඔබට අවශ්‍ය දේ සඳහාම නිර්මාණය කර ඇත:

ස්වයංක්‍රීය පැතිකඩ මාරුව iTerm2 මඟින් ඔබගේ වර්තමාන මාර්ගය, ධාරක නාමය සහ පරිශීලක නාමය ගැන දන්නා තොරතුරු පැතිකඩ වෙනස් කිරීමට භාවිතා කළ හැකිය. උදාහරණයක් ලෙස, විවිධ ධාරකයන් සමඟ සම්බන්ධ වන විට ඔබගේ කවුළුවේ පසුබිම් වර්ණය හෝ ටර්මිනලයේ අක්ෂර කේතන ක්‍රමය වෙනස් විය හැකිය.

ලාංඡන වත්මන් සැසිය පිළිබඳ තොරතුරු පෙන්වන ඔබේ පර්යන්තයේ ඉහළ දකුණේ ලාංඡනයක් තැබිය හැකිය. එයට ඔබගේ පරිශීලක නාමය, ධාරක නාමය හෝ වත්මන් git ශාඛාව වැනි අභිරුචි දත්ත පෙන්විය හැකිය.

එබැවින් ප්‍රති result ලය මෙයට කැමති විය හැකිය:

රූප විස්තරය මෙහි ඇතුළත් කරන්න


සම්බන්ධිත පිටුව (ය) වෙනස් වුවහොත් පිළිතුර අවලංගු විය හැකි බැවින් කරුණාකර යොමු සබැඳියෙන් (ය) පිළිතුරේ අත්‍යවශ්‍ය කොටස් උපුටා දක්වන්න.
ඩේවිඩ් පොස්ටිල්

0

නිරපේක්ෂ පැහැදිලිකම සඳහා බී සෙවන් ගේ පිළිතුර ටිකක් දිගු කිරීමට මම කැමතියි .

දුරස්ථ කවචය වෙනුවට (උදා: ssh ට වඩා) දේශීය කවචයේ නොමැති විටදී පවා ටැබ් එකක මාතෘකාවක් සකසන්නේ කෙසේදැයි දැන ගැනීමට අප බොහෝ දෙනා කැමති බැවින්.

පියවර 1. Preferences -> Profiles -> Terminal uncheck Terminal may set Tab/Window title

පියවර 2. එක් එක් ටැබ් සඳහා, double click on the tab -> Session Title

දැන්, ඔබ සැසි මාතෘකාවෙහි කුමක් තැබුවද, එය එලෙසම පවතිනු ඇත.


මෙම විකල්පය iTerm2
SFbay007

-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.
එමිලි බර්ජරන්

@ එමිල්බර්ජරන් thx, ඔබ (අපි) සුළුතරයක සිටින බවක් පෙනෙන්නට තිබුණත්. පිළිතුර වූයේ පේළි 1 ක් පමණි, ඉතිරිය කම්මැලි මිනිසුන් සඳහා ය.
ඕවල්ලොෆිල්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.