Tại sao thứ tự của: set bg = dark và: set bg = vật chất sáng?


11

Trong khi cố gắng kết hợp bảng màu của thiết bị đầu cuối của tôi và GVim, tôi nhận thấy điều này:

  1. Khi tôi mở GVim và Vim, tôi thấy: nhập mô tả hình ảnh ở đây (Đó là cùng một tệp, của tôi vimrc.)
  2. Nếu tôi làm :set t_Co=256, không có gì xảy ra trong GVim (ngoại trừ nó nhấp nháy), trong khi màu sắc trong thiết bị đầu cuối bây giờ trông khác nhau. Nếu tôi làm :set bg=darkbây giờ, nó không có gì khác biệt (một lần nữa GVim nhấp nháy). Nếu tôi sau đó làm :set bg=lightvà sau đó :set bg=darkmột lần nữa, tôi nhận được: nhập mô tả hình ảnh ở đây

Cả hai :set bg=dark:set t_Co=256có mặt trong vimrc của tôi . Tại sao không phải là của tôi :set bg:set t_Cogắn bó, và tại sao thiết lập :set bg=darklại sau khi :set bg=lighttạo ra sự khác biệt nơi ban đầu nó không?

Tôi đang sử dụng Arch Linux, thiết bị đầu cuối là Thiết bị đầu cuối Gnome và tôi không có .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

Câu trả lời:


9
  1. Các màu sắc elflord không set background=dark. Vì nó có nguồn gốc sau khi bạn set bg=lightsẽ ghi đè lên nó.

  2. set t_Co=256vô nghĩa . Nó không làm gì trong GVim và thay vào đó bạn nên thiết lập trình giả lập thiết bị đầu cuối của mình.

    Ngoài ra, elflord chỉ sử dụng các màu ANSI cơ bản trong các thiết bị đầu cuối màu nên sẽ không thực sự quan trọng nếu bạn buộc Vim nhìn thấy 256 màu hoặc nếu bạn đặt TERMgiá trị 256 màu ; màu sắc của bạn sẽ không sử dụng bảng màu mở rộng nào. Chuyện gì xảy ra thay vì là ban đầu của bạn TERMcó lẽ là xtermhay screenhoặc một số giá trị khác mà hạn chế Vim đến 8 màu sắc. Nhưng Elflord sử dụng cả hai màu "tối" và "sáng" cần TERMtrên 8. Vì vậy, việc buộc 256 màu sẽ làm thay đổi màu sắc của bạn.

  3. Khuyến nghị:

    • Đừng thay đổi giá trị của 't_Co'.
    • Đừng set background.

1
Nếu bộ elflord bgđến dark, tại sao sự thay đổi diện mạo của nó nếu tôi đặt nó vào lightvà ngược lại? Lưu ý rằng vimrc của tôi không làm set bg=light.
muru

set bgthay đổi màu sắc và thuộc tính của một số nhóm nổi bật để chúng hoạt động tốt hơn trên nền tối hoặc sáng. Nó chủ yếu là tùy ý và có thể có hoặc không có hiệu ứng tùy thuộc vào màu sắc bạn sử dụng. Lộn xộn với lựa chọn đó không phải là một ý tưởng tốt.
romainl

Tôi đã làm theo lời khuyên của bạn trên bgt_Co. Tôi chỉ tự hỏi tại sao elflord set bg=darkvà của tôi gây ra kết quả khác nhau (nhưng có thể lặp lại)?
muru

2
Đó là thứ tự mà chúng được áp dụng. Bởi vì một cái không hoàn toàn trái ngược với chuyển đổi khác nhiều lần giữa "tối" và "sáng" không phải là sự thay đổi giữa hai trạng thái xác định và ổn định.
romainl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.