Mengapa urutan: set bg = dark dan: set bg = light?

11

Ketika mencoba untuk mencocokkan palet warna terminal saya dan GVim saya perhatikan ini:

  1. Ketika saya membuka GVim dan Vim, saya melihat: masukkan deskripsi gambar di sini (Itu file yang sama, saya vimrc.)
  2. Jika saya lakukan :set t_Co=256, tidak ada yang terjadi di GVim (kecuali itu berkedip), sedangkan warna di terminal sekarang terlihat berbeda. Jika saya lakukan :set bg=darksekarang, tidak ada bedanya (lagi GVim berkedip). Jika saya lakukan :set bg=lightdan kemudian :set bg=darklagi, saya mendapatkan: masukkan deskripsi gambar di sini

Keduanya :set bg=darkdan :set t_Co=256hadir di vimrc saya . Mengapa saya :set bgdan :set t_Cotetap menempel, dan mengapa pengaturan :set bg=darklagi setelah :set bg=lightmembuat perbedaan di mana awalnya tidak?

Saya menggunakan Arch Linux, terminalnya adalah Terminal GNOME, dan saya tidak punya .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
muru
sumber

Jawaban:

9
  1. Skema warna elflord tidak set background=dark. Karena bersumber setelah Anda set bg=lightakan menimpanya.

  2. set t_Co=256tidak ada gunanya . Itu tidak melakukan apa pun di GVim dan Anda harus mengatur emulator terminal dengan benar.

    Selain itu, elflord hanya menggunakan warna dasar ANSI di terminal warna sehingga tidak masalah jika Anda memaksa Vim untuk melihat 256 warna atau jika Anda menetapkan TERMnilai 256colors; colorcheme Anda tidak akan menggunakan palet panjang itu. Yang terjadi adalah bahwa sumber asli Anda TERMmungkin xtermatau screenatau beberapa nilai lain yang membatasi Vim hingga 8 warna. Tapi Elflord menggunakan warna "gelap" dan "terang" yang membutuhkan angka TERM8. Di atas, memaksa 256 warna akan mengubah warna Anda.

  3. Rekomendasi:

    • Jangan mengubah nilai 't_Co'.
    • Jangan set background.
romainl
sumber
1
Jika elflord diatur bgke dark, mengapa tampilannya berubah jika saya mengaturnya ke lightdan kembali lagi? Perhatikan bahwa vimrc saya tidak berfungsi set bg=light.
muru
set bgmengubah warna dan atribut beberapa kelompok sorotan sehingga mereka bekerja lebih baik di latar belakang gelap atau terang. Sebagian besar arbitrer dan mungkin atau mungkin tidak memiliki efek tergantung pada skema warna yang Anda gunakan. Bercak dengan opsi itu bukanlah ide yang bagus.
romainl
Saya mengikuti saran Anda pada bgdan t_Co. Saya hanya ingin tahu mengapa hasil elflord set bg=darkdan saya menyebabkan perbedaan (namun berulang)?
muru
2
Ini adalah urutan penerapannya. Karena yang satu bukan kebalikan yang tepat dari peralihan yang lain berkali-kali antara "gelap" dan "terang" bukanlah beralih antara dua keadaan pasti dan stabil.
romainl