Zsh iterms में वर्तमान नौकरी के नाम के बजाय अपनी वर्तमान कार्य निर्देशिका में शीर्षक सेट करें


2

मैं अपने मैक ओएस एक्स पर iTerms चला रहा हूं zsh। अपने वर्कफ़्लो के साथ मुझे टैब के बीच स्विच करना पड़ता है और कभी-कभी मुझे बहुत समय बिताना पड़ता है यह जानने के लिए कि मैं कौन सा टैब देख रहा हूँ क्योंकि सभी का एक ही नाम है।

यहाँ छवि विवरण दर्ज करें

जैसा कि आप ऊपर दिए गए स्क्रीनशॉट से देख सकते हैं। अब यह मेरे लिए बहुत उपयोगी होगा कि मैं Tab Titleइसके Job nameलिए iTerms के बजाय वर्तमान कार्यशील निर्देशिका को कम से कम प्रदर्शित करूंzsh

मैंने वरीयताओं को देखा है और उसके लिए कोई विकल्प नहीं है। यह केवल CWDतब प्रदर्शित होगा जब नौकरी नहीं चल रही है लेकिन एक बार यह चल रही है तो इसके बजाय नौकरी का नाम प्रदर्शित किया जाएगा।



@ अच्छी तरह से कि वास्तव में मेरे सवाल का जवाब नहीं है क्योंकि जब प्रक्रिया चल रही है नाम फिर से बदल जाता है।
अली

1
आप सही हैं, यह आपके सवाल का बिल्कुल जवाब नहीं देता है। लेकिन मैं इसे एक डुप्लिकेट के रूप में सोच रहा था, क्योंकि लिंक किए गए उत्तरों में आपको (ए।) से बचने के क्रम में टैब और विंडो शीर्षक सेट करने के तरीके और (बी) के बारे में संकेत दिए गए हैं precmd। लेकिन मुझे यह स्वीकार करना चाहिए कि आपके मामले में यह भी कार्य हो सकता है preexecजो आपके शीर्षक को बदल देता है - मैंने अपने करीबी वोट को वापस ले लिया।
एमपी

धन्यवाद। मैं कुछ शोध करूंगा कि यह कैसे करना है क्योंकि यह बहुत कष्टप्रद है कि यह पता नहीं है कि कौन सा टैब है।
अली

जवाबों:


3

हुक कार्यों की जाँच करें precmdऔर preexecसाथ which precmdऔर which preexec, resp .:

प्रत्येक प्रॉम्प्ट से पहले premd निष्पादित किया गया। (...)

preexec एक कमांड पढ़े जाने के बाद ही निष्पादित किया जाता है और निष्पादित होने वाला है। (...) वास्तविक कमांड जिसे निष्पादित किया जाएगा (विस्तारित उपनामों सहित) दो अलग-अलग रूपों में पारित किया जाता है: दूसरा तर्क कमांड का एकल-पंक्ति, आकार-सीमित संस्करण है (फ़ंक्शन बॉडीज की तरह चीजों के साथ); तीसरे तर्क में पूरा पाठ है जिसे निष्पादित किया जा रहा है।

संभवतः preexecकुछ कोड है जो टैब शीर्षक को $2या में बदल देता है $3

पहले परीक्षण के रूप में आप दोनों हुक फ़ंक्शंस को पूरी तरह से अक्षम कर सकते हैं ( precmd() {}, preexec() {}), शीर्षक को मैन्युअल रूप से सेट करें ( echo -ne "\e]1;TEST\a") और जांच करें कि क्या यह एक कमांड निष्पादित करने पर रहता है।

फिर मूल सेटिंग का स्रोत खोजने की कोशिश करें, या तो आप व्यक्तिगत आरसी फाइलें ( ~/.zshrc) या सिस्टम वाइड वाले ( /etc/zsh*)।

यदि पर्याप्त है, तो आप एक समझदार टैब शीर्षक के बारे में सोच सकते हैं और @Tiago द्वारा सुझाए गए echoआदेश को precmdपसंद कर सकते हैं।


1

टाइटल सेट करने के लिए अपने zsh कॉन्फिगरेशन फाइल को premd () फंक्शन में उदा $PWD

echo -ne "\e]1;$PWD\a"

मुझे यकीन नहीं है कि अगर मैं उस अधिकार को समझता हूं, लेकिन वर्तमान कार्य निर्देशिका को प्राप्त करना वर्तमान नौकरी को अधिलेखित करता है तो क्या आप इसे करते हैं?
अली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.