Tmux पृष्ठभूमि के भाग को vim में बदल रहा है


15

यह केवल tmux के अंदर विम का उपयोग करते समय होता है। मैं भी iTerm 2 का उपयोग कर रहा हूँ।

अगर मैं एक नया tmux pane बनाता हूं या tmux pane का आकार बदलता हूं, तो यह तुरंत इस तरह दिखता है:

पृष्ठभूमि को गड़बड़ कर दिया

और फिर इसे ठीक करने का एकमात्र तरीका vim में चारों ओर स्क्रॉल करना है, और यह इस पर वापस जाता है:

vim में अच्छी पृष्ठभूमि

ऐसा किसके कारण हो सकता है?


यह मानक में gnome-terminalभी होता है, बिना tmux
व्रचिन

इस समस्या को ठीक करने के बारे में कुछ प्रेरणा के लिए यह प्रतिक्रिया देखें: stackoverflow.com/a/37863269/5153834
रक्त

जवाबों:


19

आप अपने .vimrc में निम्नलिखित को जोड़ने का प्रयास कर सकते हैं।

if &term =~ '256color'
  " disable Background Color Erase (BCE)
  set t_ut=
endif

t_utविकल्प (डिफ़ॉल्ट = y) बताता है कि कैसे vim हैंडल क्या यह वर्तमान पृष्ठभूमि रंग उपयोग करने का प्रयास की तुलना में पृष्ठभूमि रंग के रूप में चाहता है। यह स्निपेट उस विकल्प को साफ़ करता है।

यदि नहीं, तो आप करने की कोशिश कर सकते हैं

set ttyfast

जो एक विकल्प है जो यह बताता है कि स्क्रीन कैसे रीड करती है।


2
T_ut विकल्प सेट करने पर काम किया गया!
अरहरिस a

यह मेरे लिए काम नहीं किया। मैंने पहले ही सेट कर लिया है ttyfast, और t_utबिना किसी प्रभाव के समाशोधन की कोशिश की है। मेरा सेटअप ओपी के समान है, इस अपवाद के साथ कि मैं termguicolorsसही रंग समर्थन के लिए कॉन्फ़िगर किए गए Tmux के अंदर उपयोग कर रहा हूं । विम ने शानदार रूप से iTerm के अंदर ड्रॉ किया, लेकिन जब मैं Tmux के अंदर चलता हूं, तो ऊपर की तरह अजीब स्क्रीन दिखाना शुरू कर देता है। अगर मुझे एक नया प्रश्न खोलना चाहिए तो मुझे बताएं; मुझे लगा कि मैं यहां तक ​​पहुंचूंगा क्योंकि मैं अनिवार्य रूप से उसी समस्या का सामना कर रहा हूं।
djmoch

1

मेरा मानना ​​है कि यह ttyfastपूरी तरह से संबंधित नहीं है, इसलिए स्क्रीन को पूरी तरह से फिर से तैयार नहीं किया गया है। इसे इस पर सेट करने का प्रयास करें:

'ttyfast' 'tf'      boolean (default off, on when 'term' is xterm, hpterm,
                    sun-cmd, screen, rxvt, dtterm or
                    iris-ansi; also on when running Vim in
                    a DOS console)
            global
            {not in Vi}
    Indicates a fast terminal connection.  More characters will be sent to
    the screen for redrawing, instead of using insert/delete line
    commands.  Improves smoothness of redrawing when there are multiple
    windows and the terminal does not support a scrolling region.
    Also enables the extra writing of characters at the end of each screen
    line for lines that wrap.  This helps when using copy/paste with the
    mouse in an xterm and other terminals.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.