Jawaban:
Anda dapat memasukkan yang berikut ini zsh
untuk mengatur judul jendela iTerm2:
echo -ne "\e]1;this is the title\a"
Jika Anda ingin mengotomatiskan itu untuk memasukkan misalnya waktu saat ini atau direktori kerja, edit zsh
file konfigurasi Anda untuk mengatur judul pada precmd()
fungsi menjadi misalnya $PWD
.
echo -ne "\e]1;$PWD\a"
Anda dapat membaca tentang precmd
fungsi di man zshmisc
dalam bagian ini SPECIAL FUNCTIONS
.
Profiles > Terminal > Terminal Emulation > Terminal may set tab/window title
.
iTerm2
(3.2.9)
Apa yang berhasil untuk saya:
echo -e "\033];this is the title\007"
Jika Anda menggunakan Mac OSX dan iTerm, iTerm2 ::
Jika Anda menggunakan zsh, maka Anda mungkin perlu mengedit pengaturan Anda. Pengaturan Anda biasanya di file ~/.zshrc
. Anda ingin menambah atau mengedit pengaturan Anda untuk memastikan baris ini ada:
DISABLE_AUTO_TITLE="true"
Salah satu fasilitas menggunakan iTerm adalah kemungkinan untuk mengatur judul jendela & judul tab secara terpisah:
# $1 = type; 0 - both, 1 - tab, 2 - title
# rest = text
setTerminalText () {
# echo works in bash & zsh
local mode=$1 ; shift
echo -ne "\033]$mode;$@\007"
}
stt_both () { setTerminalText 0 $@; }
stt_tab () { setTerminalText 1 $@; }
stt_title () { setTerminalText 2 $@; }
Dengan cara ini Anda dapat langsung melihat host apa yang terhubung dengan Anda di jendela apa, dan judul jendela untuk setiap tab menunjukkan pengguna & CWD.
.bashrc
, kan?
DISABLE_AUTO_TITLE="true"
yang memperbaiki masalah dan dengan cara ini jika saya tidak menetapkan judul, saya masih mendapatkan fitur judul otomatis
A precmd
melakukan triknya. Namun, beberapa tema oh-my-zsh dipusingkan dengan judul jendela. Setel PR_TITLEBAR
ke string kosong untuk memperbaikinya.
set-window-title() {
# /Users/clessg/projects/dotfiles -> ~/p/dotfiles
window_title="\e]0;${${PWD/#"$HOME"/~}/projects/p}\a"
echo -ne "$window_title"
}
PR_TITLEBAR=''
set-window-title
add-zsh-hook precmd set-window-title
Saya juga merekomendasikan bermain-main dengan pengaturan tab iTerm2 di Preferences -> Appearance.
Tidak ada jawaban yang sepertinya cocok untuk saya, mungkin untuk versi iterm2 (3.3.3).
Saya menemukan ini: https://gist.github.com/phette23/5270658#gistcomment-3020766
Pada dasarnya, Anda dapat melakukan apa pun yang dikatakan dalam semua jawaban lain, tetapi juga perlu diatur
Preferences > Profiles > General > Title -> Name (Job)
Ini berhasil untuk saya.
General
tab, itu di bawah Profiles
tab
> Profiles
satu. Salahku. Diperbarui.
Jawaban yang diterima telah bekerja untuk saya untuk waktu yang lama tetapi sekarang rusak di versi terbaru iTerm2. Solusi yang saya temukan adalah mengaktifkan Python API dan membuat skrip yang menetapkan nama tab seperti:
#!/usr/bin/env python3.7
import argparse
import iterm2
def get_args():
parser = argparse.ArgumentParser(description='Set the tab name')
parser.add_argument('name')
return parser.parse_args()
ARGS = get_args()
async def main(connection):
app = await iterm2.async_get_app(connection)
window = app.current_terminal_window
if window is not None:
tab = window.current_tab
await tab.async_set_title(ARGS.name)
else:
# You can view this message in the script console.
print("No current window")
iterm2.run_until_complete(main)
Disimpan sebagai "tab_name.py", lalu dipanggil dengan:
~/Library/ApplicationSupport/iTerm2/iterm2env/versions/*/bin/python3 ~/Library/ApplicationSupport/iTerm2/Scripts/tab_name.py "new tab name"
Ini tidak sebagus atau seanggun jawaban yang diterima, tetapi berhasil.
ITerm -> Preferensi -> Tampilan -> Judul Jendela & Tab -> centang Tampilkan opsi nama profil