यह हाइलाइटिंग शेल की तुलना में टर्मिनल एमुलेटर में आईएमएचओ को आसानी से लागू किया गया है। और एक लाभ के रूप में आप शेल से स्वतंत्र हाइलाइटिंग प्राप्त करते हैं - इसलिए यह less
आदि के साथ भी काम कर रहा है क्योंकि आप शेल को स्विच करने के साथ ठीक हैं, मुझे लगता है कि आप URxVt पर स्विच करने के साथ ठीक हैं।
पर्ल सीमाएं urxvt-perls के साथ संयोजन में URL आदि को क्लिक करने योग्य बनाना संभव है। लेकिन हम इस सुविधा का दुरुपयोग केवल गैर-तोड़ने योग्य रिक्त स्थान को रेखांकित करने के लिए कर सकते हैं।
विन्यास में किया जाता है ~/.Xdefaults
:
URxvt.perl-ext: default,matcher
URxvt.matcher.button: 2
URxvt.matcher.pattern.0: (\\240)
URxvt.matcher.launcher.0: /bin/true
- पंक्ति 1 उपयुक्त विस्तार को सक्रिय करती है
- लाइन 2, हाइपरलिंक '' पर क्लिक करने के लिए मध्य माउस बटन के उपयोग को कॉन्फ़िगर करता है
- पंक्ति 3 रेगेक्स को मैच के लिए परिभाषित करती है, यहाँ हर गैर-विराम स्थान है;
A0 (hex) = 240 (oct)
- पंक्ति 4 कार्रवाई को परिभाषित करती है, आपके मामले में आप ब्राउज़र या किसी प्रोग्राम को खोलना नहीं चाहते हैं, इसलिए
/bin/true
ठीक होना चाहिए
~/.Xdefaults
एक्स सर्वर को पुनरारंभ करके पुनः लोड करें (यह ओवरकिल हो सकता है, लेकिन मुझे यकीन नहीं है कि अगर xrdb ~/.Xdefaults
यह पर्याप्त है ...) और आपको कोई वांछित परिणाम मिलता है। एक आवर्धक कांच के साथ गैर-टूटने योग्य स्थानों के बीच अंतर करना भी संभव है, अंडरस्कोर (1 पिक्सेल द्वारा बदलाव पर ध्यान दें) ;)
:
निम्नलिखित "बैकएंड" समाधान के लिए अवधारणा का प्रमाण है । ज्ञात हो, कि यह बहुत सारी चीज़ों को तोड़ देगा, जैसे कि संवादात्मक कार्यक्रम man
, less
आदि ( vim
शिकायत कर रहा है लेकिन अभी भी काम कर रहा है)। इस दृष्टिकोण को एटम स्मैशर ने 16 मई 2009 को रंग zsh-users
भरने के लिए मेलिंगलिस्ट पर पोस्ट किया था । मैंने इसे आपकी आवश्यकताओं के लिए अपनाया:STDERR
# ## highlight_nbs.zsh ##
zmodload zsh/terminfo zsh/system
autoload colors is-at-least
if [[ "${terminfo[colors]}" -ge 8 ]] { colors }
highlight_nbs() {
while sysread line
do
syswrite "${line//$'\xC2\xA0'/${bg[red]} ${terminfo[sgr0]}}"
done
}
precmd() { sleep 0 }
## i'm not sure exactly how far back it's safe to go with this
## 4.3.4 works; 4.2.1 hangs.
is-at-least 4.3.4 && exec > >(highlight_nbs)
पेचीदा हिस्सा exec > >(highlight_nbs)
जो highlight_nbs
फ़ंक्शन के माध्यम से प्रतिस्थापित शेल के पूर्ण आउटपुट को संसाधित करता है। precmd
परिभाषा, एक रेस स्थिति से बचने के लिए आवश्यक है अन्यथा नया शीघ्र निष्पादित आदेश की वास्तविक उत्पादन से पहले छपा है।
यहाँ एक डेमो है:
ssh
) सत्रों में मदद करता है । यह थोड़े सामने वाला हल है और मुझे अभी भी एक बैकएंड खोजने की उम्मीद है । लेकिन धन्यवाद वैसे भी, यह कम से कम मुझे इस समय के लिए समस्या हल करती है।