Neden: set bg = dark ve: set bg = light matter?


11

Terminalimin renk paletini ve GVim'leri eşleştirmeye çalışırken bunu fark ettim:

  1. GVim ve Vim'i açtığımda şunu görüyorum: resim açıklamasını buraya girin (Bu aynı dosya, benim vimrc.)
  2. Eğer yaparsam :set t_Co=256, GVim'de hiçbir şey olmaz (yanıp söner hariç), oysa terminaldeki renkler şimdi farklı görünür. :set bg=darkŞimdi yaparsam , hiçbir fark yaratmaz (yine GVim yanıp söner). Eğer o :set bg=lightzaman :set bg=darktekrar tekrar yaparsam: resim açıklamasını buraya girin

Her ikisi de :set bg=darkve :set t_Co=256benim vimrc mevcuttur . Neden benim değil :set bgve :set t_Coyapışma, neden :set bg=darksonra tekrar ayarlamak :set bg=lightbaşlangıçta fark etmediği bir fark yaratıyor?

Arch Linux kullanıyorum, terminal GNOME Terminali ve bir .gvimrc.

$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Feb  4 2015 08:03:11)
Included patches: 1-617
Compiled by Arch Linux
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
+balloon_eval    +float           +mouse_urxvt     -tag_any_white
+browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
+clientserver    -hangul_input    +netbeans_intg   +title
+clipboard       +iconv           +path_extra      +toolbar
+cmdline_compl   +insert_expand   +perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       -python          +viminfo
+cscope          +lispindent      +python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con_gui  +lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      +X11
+dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     +xim
+emacs_tags      +mouseshape      -sniff           +xsmp_interact
+eval            +mouse_dec       +startuptime     +xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/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/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -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 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype  -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -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 -fstack-protector -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc  -L/usr/lib/python3.4/config-3.4m -lpython3.4m -lpthread -ldl -lutil -lm  -lruby -lpthread -lgmp -ldl -lcrypt -lm  -L/usr/lib

Yanıtlar:


9
  1. Elflord renk şeması yapar set background=dark. Sizin kaynağınızdan sonra kaynaklandığından set bg=lightgeçersiz kılar.

  2. set t_Co=256olduğu anlamsız . GVim'de hiçbir şey yapmaz ve bunun yerine terminal emülatörünüzü doğru şekilde ayarlamanız gerekir.

    Ayrıca, elflord, renk terminallerinde sadece temel ANSI renklerini kullanır, bu nedenle Vim'i 256 renk görmeye zorlamanız veya 256 renk TERMdeğerine ayarlamanız gerçekten önemli değildir ; renk düzeniniz bu genişletilmiş paleti zaten kullanmaz. Yerine ne olur orijinal olmasıdır TERMmuhtemelen xtermya screenveya 8 renge Vim kısıtlayan bazı diğer değer. Ancak Elflord, TERM8'in üzerinde olması gereken hem "koyu" hem de "açık" renkleri kullanır . Dolayısıyla, 256 rengi zorlamak renklerinizi değiştirir.

  3. öneriler:

    • Değerini değiştirmeyin 't_Co'.
    • Yapma set background.

1
Elflord setleri Eğer bgiçin dark, neden görünümü değiştirmek ayarlayın eğer lighttekrar ve? Vimrc'imin yapmadığını unutmayın set bg=light.
muru

set bgbazı vurgulama gruplarının renklerini ve özelliklerini koyu veya açık arka plan üzerinde daha iyi çalışacak şekilde değiştirir. Çoğunlukla keyfidir ve kullandığınız renk şemasına bağlı olarak bir etkisi olabilir veya olmayabilir. Bu seçenekle uğraşmak iyi bir fikir değil.
romainl

Ben senin tavsiye izledi bgve t_Co. Sadece elflord set bg=darkve benim neden bu kadar farklı (yine de tekrarlanabilir) sonuçlara neden olduğunu merak ediyorum ?
muru

2
Uygulandıkları sıra. Biri diğerinin "karanlık" ve "aydınlık" arasında birçok kez geçiş yapmasının tam tersi olmadığı için, iki kesin ve kararlı durum arasında bir geçiş değildir.
romainl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.