İTerm2 için, çalışma dizinini pencere başlığında nasıl gösterebilirim?


22

Kısa süre önce varsayılan Terminal uygulamasından iTerm2'ye geçtim ve bir kullanılabilirlik sorunum var.

Terminal'de, içinde bulunduğunuz çalışma dizini başlık çubuğunda işlem ve piksel boyutu ile birlikte görünür. Örneğin, farklı Terminal oturumları arasında geçiş yapmak için Pencereye tıkladığınızda şunu görürsünüz: working_directory - process - pixel_size.

İTerm2'de maalesef başlık çubuğunda yalnızca süreç gösterilir. Bu yüzden farklı dizinlerde birden fazla iTerm2 penceresinde çalışıyorsam, kolayca ayırt edemiyorum ki hangisini seçmek için Pencere üzerine tıkladığımda. Birini seçtiğimde iTerm2 pencereleri arasında kolayca geçiş yapabileceğimi biliyorum, ancak tam olarak hangi pencereyi istediğimi tanımlamak istiyorum. (Bu arada, Cadı kullanıyorum ve Komut-sekme de yardımcı olmuyor çünkü burada tekrar sadece işlem listede görünüyor).

Herhangi bir öneri? Tüm tercihlere baktım ve hiçbir şey görmedim. Profil oluşturmak tam olarak peşimde değil - sadece geçerli çalışma dizinini iTerm2 pencere başlıklarında görmek istiyorum.

Yanıtlar:


20

İle \033]0;TEXT\007çıkış sırası.

Bash'te kullanım örneği: echo -ne "\033]0;$PWD\007"

Aşağıdaki konularda eklemek olabilir hangi $PROMPT_COMMANDsen Bash kullanın veya başka bir şekilde size takmak eğer PS1o yeniden değerlendirilmelidir sıklıkla alır böylece.

Misal: export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"'


1
Bu çalışıyor. Bilgiç olmak için, yukarıda listelenen dışa aktarma satırını ~ / .bashrc dosyanıza ekleyin.
Spencer

Bu harika. Çok teşekkürler; bu, cevabın gerçekten bas programlama ile ilgili olduğunu ve iTerm vs Terminal ile ilgisi olmadığını anlamama yardımcı oldu. Başkasının takibi için lütfen faqs.org/docs/Linux-mini/Xterm-Title.html#s3 ve linfo.org/echo.html adresine bakın . Tekrar teşekkürler!
whiny_nil

5
ve yolun yalnızca son bölümünü elde etmek için echo -ne "\033]0;${PWD##*/}\007"( yolu göstermek için github.com/barryclark/bashstrap sayesinde )
Anentropic

1
@Spencer: PROMPT_COMMAND kabuk değişkenini dışa aktarmak için bir neden yoktur ve genel olarak, değişkeni kabuk tarafından çalıştırılan her programla paylaşmak için özel bir gereksiniminiz olmadıkça bir kabuk değişkeni dışa aktarılmamalıdır . Varsayılan olarak, kabuk tarafından kullanılan değişkenler dışa aktarılmamalıdır; yalnızca diğer işlemlere aktarılması amaçlanan dışa aktarma değişkenleri. ~/.bashrcher etkileşimli kabuk tarafından çalıştırılacağı için bu komut dosyası tarafından ayarlanan değişkenleri devralmaları gerekmez.
Chris Page

Iyi PROMPT_COMMAND nasıl kullandıklarını, ihracat olduğunu ... Ve bu genellikle daha iyi karmaşık şeyler için ise bağlantı
demure

2

Ben bu konuda yanıt almak bu ana fikri eklemek için sekme başlığı

# put this in your .bash_profile
if [ $ITERM_SESSION_ID ]; then
  export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi

0

Zsh kullanıyorsanız (macOS 10.15'te varsayılan değerdir), bunu ~ / .zshrc'nize koyun:

if [ $ITERM_SESSION_ID ]; then
precmd() {
  echo -ne "\033]0;${PWD##*/}\007"
}
fi

Ayrıca yazım olabilir \033olarak \eve \007olduğu gibi \a.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.