vim - पेजिंग करते समय tmux बैकग्राउंड के रंग में बदलाव




(3)

मैं सोलारिस पर 256 कलर मोड (विंडोज पर पुट्टी के माध्यम से जुड़ा हुआ) में विम का उपयोग कर रहा हूं। सब कुछ बहुत अच्छा लग रहा है और tmux के बाहर ठीक काम करता है, लेकिन tmux के भीतर बैकग्राउंड का रंग समय-समय पर बदलता रहता है जब किसी फ़ाइल के माध्यम से पेजिंग / स्क्रॉलिंग होती है।

यहाँ है कि यह कैसे देखना चाहिए:

यहां बताया गया है कि बिट के आसपास पेजिंग करने के बाद यह कैसे दिखाई देता है:

धन्यवाद!


इस बग को विम 7.4 पैच 7.4.1942 में तय किया गया है

प्रासंगिक मुद्दा: 804


एक वैकल्पिक समाधान जोड़ना, क्योंकि मैं खुद इस समस्या में भाग गया और केवल इसे हल किया। मेरे पास सही TERM वैल्यू थी, टर्मफाइ फाइल थी, आदि, लेकिन बैकग्राउंड अभी भी केवल उन्हीं सेल्स के पीछे खींची जाती है, जिनमें प्रिंट करने योग्य कैरेक्टर होते हैं, या उनमें से बाईं ओर सेल्स होते हैं।

यदि आप अक्सर GUI vim और CLI vim के बीच स्विच करते हैं, तो हो सकता है कि आपने अपने .vimrc फ़ाइल में कुछ इस तरह से डाला हो:

if !has("gui_running")
    set term=xterm
endif

(या वास्तव में किसी भी ओवरराइडिंग सभी TERM चर के भीतर .vimrc )

टर्मिनल ओवरराइड को स्क्रीन-256color में बदलें

...
set term=screen-256color
...

जैसा कि यहां बताया गया है , t_ut टर्मिनल विकल्प (रन :set t_ut= in Vim) और फिर टर्मिनल के डिस्प्ले को रिफ्रेश करने के लिए Control + L दबाकर बैकग्राउंड कलर इरेज (BCE) को t_ut करें ताकि कलर स्कीम ठीक से काम करें जब Vim को tmux के अंदर इस्तेमाल किया जाए और GNU स्क्रीन।

उपरोक्त लिंक के अनुसार, BCE को निम्न जोड़कर .vimrc में सेट किया जा सकता है

if &term =~ '256color'
    " disable Background Color Erase (BCE) so that color schemes
    " render properly when inside 256-color tmux and GNU screen.
    " see also http://snk.tuxfamily.org/log/vim-256color-bce.html
    set t_ut=
endif




tmux