256 रंगों को ठीक से प्रदर्शित करने के लिए वीआईएम कैसे प्राप्त करें


17

मैं xterm के तहत VIM के साथ काम करने के लिए 256 कलर थीम फाइल प्राप्त करने की कोशिश कर रहा हूं।

यह वह जगह है peaksea यह कैसे मेरे लिए लग रहा है:

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

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

मैंने कोई फायदा नहीं होने के लिए विकी पेज पर सुझावों का पालन करने की कोशिश की है।

set t_Co=256 ठीक काम करता है लेकिन

set t_AB=^[[48;5;%dm
set t_AF=^[[38;5;%dm

टर्मिनल पर प्रदर्शित होने वाले एस्केप सीक्वेंस के परिणाम:

संपादित करें: मिकेल सही था, मुझे ^ [ठीक से इनपुट करने के लिए Ctrl + v + Esc टाइप करने की आवश्यकता थी। हालाँकि, इसने मेरी समस्या को ठीक नहीं किया है।

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

तो इस काम को करने के लिए मैं और क्या बदलाव कर सकता हूं?

अतिरिक्त जानकारी

$ uname -a
Linux xxxxxxx 3.4.7-1-ARCH #1 SMP PREEMPT Sun Jul 29 22:02:56 CEST 2012 x86_64 GNU/Linux

-

$ xterm -version 
XTerm(281)

-

$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 13 2012 05:24:27)
Included patches: 1-600
Compiled by ArchLinux
Big version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff 
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi 
+file_in_path +find_in_path +float +folding -footer +fork() +gettext 
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall 
+linebreak +lispindent +listcmds +localmap +lua +menu +mksession +modify_fname 
+mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm +mouse_netterm 
-mouse_sysmouse +mouse_xterm +mouse_urxvt +multi_byte +multi_lang -mzscheme 
+netbeans_intg +path_extra +perl +persistent_undo +postscript +printer -profile
 +python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs 
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim 
+xsmp_interact +xterm_clipboard -xterm_save 
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15   -I/usr/local/include  -march=x86-64 -mtune=generic -pipe -fstack-protector --param=ssp-buffer-size=4  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -rdynamic -Wl,-export-dynamic  -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0   -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncurses -lnsl   -lacl -lattr -lgpm -ldl  -L/usr/lib -llua  -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -fstack-protector -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -lruby -lpthread -lrt -ldl -lcrypt -lm  -L/usr/lib   

-

$ ls -l /usr/share/terminfo/x/xterm-256color 
-rw-r--r-- 1 root root 3336 Feb  8  2012 /usr/share/terminfo/x/xterm-256color

.vimrc

set t_Co=256

.Xdefault

!--------------------- XTERM ------------------------
xterm*dynamicColors:    true
xterm*background:       black
xterm*foreground:        #BBBBBB
xterm*utf8:             2
xterm*eightBitInput:    true
xterm*saveLines:        32767
xterm*scrollTtyKeypress:       true
xterm*scrollTtyOutput:  false
xterm*scrollBar:        false
xterm*loginShell:       true
xterm*faceName:         xft:Dejavu Sans Mono:size=10
xterm*jumpScroll:       true
xterm*multiScroll:      true
xterm*toolBar:          false
xterm*geometry:         100x30

संपादित करें: समाधान का प्रयास किया

मैंने पहले से ही rxvt-unicode स्थापित किया था और पहले से इसका उपयोग कर रहा था। हालाँकि मुझे भी यही समस्या थी। यहां दोनों की तुलना की ओर एक पक्ष है। बाईं ओर xterm है और दाईं ओर urxvt है। फ़ाइल खुली है .Xdefaults जो urxvt में से एक के लिए सेटिंग दिखाता है जिसमें से कोई समस्या हो सकती है?

xterm ने urxvt को दाएं बाएं किया

मैं भी प्रतीत होता है सकारात्मक उत्पादन के साथ रंग परीक्षण स्क्रिप्ट भाग गया । ऊपर xterm नीचे urxvt है। शीर्ष xterm निचला urxvt

$ echo $TERM
xterm-256color

समाधान समाधान

मैं अब CSApprox का उपयोग कर रहा हूं और यह काफी अच्छी तरह से काम करता है। मैं अभी भी इस बारे में उलझन में हूं कि थीम सांत्वना रंग सेटिंग्स को परिभाषित करने के बावजूद काम क्यों नहीं करती है। शायद इसका उस तरह से कुछ करना है जिस तरह से विम खुद को समझता है। इसे gvim पैकेज के एक भाग के रूप में स्थापित किया गया था ताकि यह cterm सेटिंग की अनदेखी कर सके।

संपादित करें: और अब सब कुछ ठीक लग रहा है ..

CSApprox को स्थापित करने के बाद अजीब तरह से इसे हटाने के बाद, सब कुछ काम करना चाहिए जैसा कि यह होना चाहिए। बस एक और colorcheme डाउनलोड किया है और इसे पूरी तरह से CSApprox मॉड्यूल के बिना भी लोड किया गया है।


आपका $ TERM क्या है? क्या विम को पता है कि यह 256 रंगों का उपयोग कर सकता है?
रिचर्ड हम

1
xterm UTF8 और रंगों और इस तरह के साथ काफी समस्याग्रस्त है। क्या आपने urxvtअपने आप को जल्दबाजी में उपयोग करने और बचाने पर विचार किया है ? ( pacman -S rxvt-unicode)।
कालेब

1
आपने कैसे टाइप किया ^[? आपको इसे Ctrl + V + Esc का उपयोग करने की आवश्यकता है।
मिकेल

@ मिकेल आप इसके बारे में सही थे, लेकिन ऐसा लगता है कि इससे कोई फर्क नहीं
पड़ा है

@ कालेब आपको क्या समस्या है? मैंने वास्तव में बेहतर UTF-8 समर्थन के लिए rxvt से xterm में स्विच किया और मेरे लिए दोनों में 256 रंग काम करते हैं। मैं TERM=screen-256colorहालांकि tmux के कारण उपयोग करता हूं , लेकिन चीजें xterm-256colorबाहरी tmux के साथ भी काम करती हैं ।
jw013

जवाबों:


3

कालेब अपनी टिप्पणी में सही है। xterm काफी पुराना है और आपको urxvt पर स्विच करने पर विचार करना चाहिए - कम से कम 256 और utf-8 सक्षम संस्करण, सही को स्थापित करने के लिए अपने पैकेज प्रबंधक को देखें।

मेरे पास आपके लिए एक समान सेट है - भयानक WM, vim, urxvt, tmux / screen - और वे सभी 256 रंगों और utf-8 के साथ अच्छी तरह से काम करते हैं। xterm-256colorयदि आपने इसे मैन्युअल रूप से सेट करने की आवश्यकता है, तो मैंने TERM सेट किया है।

हम ... आपके संपादन के बाद, क्या आप देख सकते हैं कि विम कलर थीम को टर्मिनलों के लिए ठीक से परिभाषित किया गया है?


यकीन नहीं है कि आप वास्तव में क्या मतलब है। peaksea.vim ctermfg / ctermbg का उपयोग करता है लेकिन इसमें गिनी फ़ंक्शन भी परिभाषित हैं। क्या वह हस्तक्षेप कर सकता है?
जम्मूतवी १०'१२

क्या आप एक अलग रंग योजना के साथ कोशिश कर सकते हैं? मैं इससे बड़े अंतर की उम्मीद नहीं कर रहा हूं लेकिन आप कभी नहीं जानते। दूसरी बात जो मैं सोच सकता हूं, वह है डिफ़ॉल्ट रूप से 256 रंग मजबूर करने वाले स्रोत से विम का पुन: संकलन करना। शायद मेहराब में पैकेज अजीब है ...
सरदारथियन -

1

यह न केवल यह है कि आपके टर्मिनल को 256 रंगों का समर्थन करना चाहिए, विम का विषय आपके .Xdefaults / -XX स्रोतों में रंगों का उल्लेख करेगा। इसे ठीक करने के लिए, आपको थीम के लेखक के समान रंगों का उपयोग करना चाहिए या इसके बजाय gvim का उपयोग करना चाहिए।

कोड को देखकर मैं देख सकता हूं कि यह ठीक से gvim का समर्थन करता है, इसीलिए CSAprox कार्यों का उपयोग करता है, क्योंकि यह HEX में gvim रंग कोड लेता है (जैसे: # 123ABC) और उन्हें अपने टर्मिनल रंगों में अनुवाद करें, मुझे लगता है।

उदाहरण

कंसोल मोड में विम रंगों से रंग लेगा:

hi Normal ctermfg=16 ctermbg=254

ग्राफिक मोड में रहते हुए:

hi Normal guifg=#d0d0d0 guibg=#202020

इसलिए, यदि आपने अपने टर्मिनल रंगों के लिए किसी प्रकार का "थीम" स्थापित किया है तो यह आपके द्वारा विम में प्राप्त रंगों को प्रभावित करेगा। इसके अलावा, आपके पास डबल चेक

set background=dark

अपने .vimrc में


हां मुझे लगता है कि यह तब होता है जब सांत्वना में इसका उपयोग किया जाता है। बात यह है कि मेरे पास कोई .Xresources फ़ाइल नहीं है और मेरे .Xdefaults में कुछ भी नहीं है जो रंग को अन्य thmaybe को अग्रभूमि और पृष्ठभूमि सेट करता है। कोई भी रंग फिर से परिभाषित नहीं होता है। केवल एक चीज जिसकी मैं कल्पना कर सकता था, अगर लेखक के पास एक .Xdefaults / /। स्रोत था, जो परिभाषित करता था कि चूक से अलग है। लेकिन ऐसा लगता है कि मेरे द्वारा उपयोग किए जाने वाले प्रत्येक 256 रंग विषयवस्तु में भिन्न रूप से भिन्नता है जो कि वे दिखने वाले हैं। क्या कोई और फ़ाइल है जो रंग सेट करती है जो मुझे याद आ रही है?
जम्मूतवी

मुझे लगता है कि अगर हम X11, .Xdefaults और .Xresources के बारे में बात करते हैं, तो केवल फाइलें शामिल हैं (आर्कलिनक्स सिस्टम में पूर्व पदावनत की गई हैं)। बेशक, डिफ़ॉल्ट टर्मिनल रंगों को किसी स्थान पर रहना होगा और विभिन्न लिनक्स वितरणों को देखते हुए अलग-अलग हो सकते हैं। इसके अलावा, हम यह नहीं भूल सकते कि गनोम टर्मिनल जैसे टर्मिनल एमुलेटर में कस्टम रंग हो सकते हैं या सिस्टम का उपयोग कर सकते हैं, क्योंकि हम यह सुनिश्चित नहीं कर सकते हैं कि थीम के निर्माता ने कस्टम रंगों का उपयोग किया है या नहीं, हालांकि यह बहुत प्रशंसनीय है। मेरे जैसे किसी भी सनकी ने कभी भी एक थीम बनाया है, निश्चित रूप से अपने टर्मिनल रंगों को अनुकूलित किया है।
एलेक्स

0

डालने का प्रयास करें:

export TERM=xterm-256color

अपने बैशके में।

इसे ठीक करना चाहिए ...


2
अपने .bashrcशायद ही कभी "सुधार" में $ TERM मूल्य का निर्यात करना ; इसके अन्य अनपेक्षित समस्याओं के परिणामस्वरूप होने की अधिक संभावना है ...
जसोनव्रीयन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.