विम tmux के अंदर नहीं चल रहा है


14

जब मैं पूरी विंडो को फ्रीज के vimअंदर इस्तेमाल करके फाइल खोलने की कोशिश करता हूं tmux। मुझे खिड़की से मारना है C-a &

यहाँ मेरी ~/.vimrcसेटिंग्स हैं:

:set autoindent
:set ts=4
:set number
:set shiftwidth=4
:set showmode
:filetype on
:filetype plugin on
:syntax enable
:set mouse=a

तथा ~/.tmux.conf

# I like Ctrl-a as the default hotkey
unbind C-b
set-option -g prefix C-a

# Split window using | and -
unbind %
bind | split-window -h
bind - split-window -v

# Set status bar
set -g status-bg black
set -g status-fg white
set -g status-left ‘#[fg=green]#H’

# Highlight active window
set-window-option -g window-status-current-bg red

# Makes window numbering start from 1, instead of 0
set -g base-index 1

मैं आरएचईएल में समस्या का सामना कर रहा हूं। हालाँकि मेरे मैक में वही कॉन्फिग ठीक काम करता है। मुझे लगता है, जब तक मेरे आरएचईएल बॉक्स को पुनः आरंभ नहीं किया गया था तब तक चीजें ठीक चल रही थीं और मैंने वीए स्वैप फ़ाइल से एक फ़ाइल को पुनर्प्राप्त करने का प्रयास किया।

कोई राय कि इसे कैसे ठीक किया जाए?

[संपादित करें]: मैंने sshअन्य बॉक्स के अंदर tmuxऔर viवहां चलने की कोशिश की । रिमोट बॉक्स में ठीक काम करता है!


[बाद में जोड़ा गया] @ अंजोनविरेन के सुझाव के बाद, मैंने set -g default-terminal screen-256colorइसके अंत में लाइन जोड़ी tmux.conf। इससे कार्यक्रमों lessको काम करने से रोका गया ।

echo $TERM tmux के अंदर "स्क्रीन" है और tmux के बाहर "xterm" है।

$ TERM की खोज ने मुझे https://wiki.archlinux.org/index.php/Tmux पर ले गया , जहाँ से मैंने लाइन set -g default-terminal "screen-256color"को पहली पंक्ति के रूप में जोड़ा tmux.conf। इसने $TERMअंदर के tmux को "स्क्रीन- 256color" बना दिया। लेकिन अब जब मैं vitmux के अंदर शुरू करता हूं , तो यह निम्नलिखित त्रुटि प्रदर्शित करता है:

E558: Terminal entry not found in terminfo
'screen-256color' not known. Available builtin terminals are:
    builtin_riscos
    builtin_amiga
    builtin_beos-ansi
    builtin_ansi
    builtin_pcansi
    builtin_win32
    builtin_vt320
    builtin_vt52
    builtin_xterm
    builtin_iris-ansi
    builtin_debug
    builtin_dumb
defaulting to 'ansi'

लगता है कि मैंने इस मुद्दे को हल कर दिया है। बस set -g default-terminal xtermमेरी ~ / .tmux.conf की पहली पंक्ति के रूप में जोड़ा गया और यह काम किया!


1
यह संबंधित नहीं हो सकता है, लेकिन आपको tmux में सही TERM सेट करना चाहिएset -g default-terminal screen-256color
jasonwryan

3
क्या आप अपने प्रश्न को अपनी $ TERM के साथ और बाहर tmux में अपडेट कर सकते हैं?
जसोनव्रीयन

1
Tmux के बाहर, 'इको $ TERM' निष्पादित करें। एक tmux सेशन के अंदर, 'इको $ TERM' निष्पादित करें।
जॉर्ज एम

1
आपको केवल अपने tmux TERM को स्क्रीन व्युत्पन्न पर सेट करना चाहिए: FAQ देखें : यह आपको ट्रैक को अन्यथा जारी करने का कारण बनेगा ...
jasonwryan

1
आपको अपना स्वयं का उत्तर लिखना चाहिए और इसे उसके साथ पोस्ट करना चाहिए, और फिर इसे स्वीकार करना चाहिए (ऐसा करने के लिए यह पूरी तरह से स्वीकार्य है)।
एइटबिटोनी

जवाबों:


11

मैंने लाइन जोड़कर समस्या हल की

set -g default-terminal xterm

मेरी ~ / .tmux.conf की पहली पंक्ति के रूप में और यह ठीक काम किया।

हालाँकि @jasonwryan ने बताया है कि, TMUX FAQ स्पष्ट रूप से बताता है कि:

अधिकांश प्रदर्शन समस्याएं गलत TERM के कारण हैं! रिपोर्टिंग समस्याओं से पहले सुनिश्चित करें कि TERM सेटिंग tmux के अंदर और बाहर सही हैं।

Tmux TERM के अंदर "स्क्रीन" या समान होना चाहिए (जैसे कि "screen-256color")। बाहर, यह आपके टर्मिनल से मेल खाना चाहिए ...

मैं केवल इस उत्तर को पोस्ट करता हूं क्योंकि यह वास्तव में मेरी समस्या को हल करता है। कृपया अपने वैकल्पिक समाधान जोड़ने के लिए स्वतंत्र महसूस करें।


2

मैं बस एक पुरानी CentOS बॉक्स पर उसी समस्या में भाग गया जिस पर मुझे काम करना था। मेरे लिए tmux में xterm में TERM सेट करने से अन्य अजीब मुद्दे पॉप अप हो गए। हालाँकि, मैं set mouse=aअपने .vimrc cf https://lists.gnu.org/archive/html/screen-users/2005-04/msg00039.html में टिप्पणी करके इसे ठीक करने में सक्षम था।

जाहिरा तौर set ttymouse=xterm2पर अपने .vimrc में जोड़कर चाल भी कर सकते हैं।

किसी और के लिए इसी तरह के मुद्दों में मैं अस्थायी रूप से अपने .vimrc ले जाने की सलाह देता हूं कि यह देखने के लिए कि क्या कारण है।

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