我遇到一个问题,每次启动 VIM 时,我在 .vimrc 中设置的配色方案在第一次运行 VIM 时不会生效,但每次我执行:colorscheme ‘我的色彩方案’已应用色彩方案。
我是 Linux 的初学者,所以请耐心等待。
我只是在想是否有应该设置的设置。以下是我使用 xterm 设置的设置。
.X资源
*customization: -color XTerm*termName: xterm-256color
.xsession
if [ -f $HOME/.Xresources ]; then xrdb -merge $HOME/.Xresources fi
运行后xrdb -query
输出如下:
*customization:-color
XTerm*termName: xterm-256color
Xft.dpi: 96
Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintslight
Xft.rgba: rgb
Xft.lcdfilter: lcddefault
顺便说一句,每当我想启动 VIM 时,只有配色方案不会生效。但所有映射和其他设置都有效
这是我的.vimrc
"**********************************************"
" VUNDLE SETTINGS "
"**********************************************"
set nocompatible " be iMproved
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
filetype plugin indent on " required!
"**********************************************"
" PLUGINS "
"**********************************************"
"EasyMotion
Bundle 'Lokaltog/vim-easymotion'
"Sparkup
Bundle 'tristen/vim-sparkup'
"Surround
Bundle 'tpope/vim-surround'
"CsApprox
Bundle 'godlygeek/csapprox'
"**********************************************"
" COLOR SCHEMES "
"**********************************************"
" Distinguised
Bundle 'Lokaltog/vim-distinguished'
" Github
Bundle 'endel/vim-github-colorscheme'
" VividChalk
Bundle 'tpope/vim-vividchalk'
" Pyte
Bundle 'therubymug/vim-pyte'
" Vibrantink
Bundle 'vim-scripts/vibrantink'
"**********************************************"
" MAP LEADER "
"**********************************************"
let mapleader = ","
"**********************************************"
" SYNTAX "
"**********************************************"
syntax enable
"**********************************************"
" VIM SCRIPTS "
"**********************************************"
if has('gui_running')
colorscheme github
else
colorscheme pyte
endif
"**********************************************"
" CUSTOM SETTINGS "
" "
"**********************************************"
set hidden
" Show what mode you're currently at
set showmode
" Enable enhanced command line completion
set wildmenu
" Don't redraw while executing macros
set lazyredraw
" Indentation settings (SOFT TABS)"
set shiftwidth=4
set softtabstop=4
set smarttab
set expandtab "enable this to use spaces instead of tabs
" show line number
set nu
" hightlight as you type
set incsearch
" ignore case when searching
set ignorecase
" set statusline
set laststatus=2
"**********************************************"
" NOTE don't map <c-s> and <c-q> "
"**********************************************"
"**********************************************"
" KEYMAPS "
"**********************************************"
"*******NORMAL MODE MAPPING********"
"map for editing .vimrc
nnoremap <leader>ev :e $MYVIMRC<cr>
"map for sourcing vimrc
nnoremap <leader>sv :so $MYVIMRC<cr>
"map for switching windows
"_ in this keymap is to jump for a line with a nonblank char
nnoremap <space> <c-w><c-w>_
"*******INSERT MODE Mapping********"
"map for escape while in insert mode
inoremap <leader>; <esc>
"map for ins-completion
inoremap <leader>x <c-x>
"*********COMMAND MODE Mappings*******
"exit out of command line mode
cnoremap <leader>; <c-c>
编辑
无论我使用哪种终端仿真器,它都不起作用。gnome-terminal 或 xterm。似乎 colorscheme 确实已加载。首次加载时,输入 :colorscheme 会报告我在 .vimrc 上设置的正确 colorscheme。但第一次没有生效。我必须在 VIM 上输入
:colo 'colorschemename'
或再次使用 source 来激活 colorscheme
:so $MYVIMRC
但是退出 VIM 后,色彩方案再次不再生效,但它会在启动 VIM 时加载。
提前致谢。
答案1
在 ~/.vimrc 文件中放置 colorscheme 指令
例如
colorscheme evening
更新1:
使用你的 ~/.vimrc 并安装文德尔我重现了你的问题。添加
set t_Co=256
colorscheme evening
在你的 ~/.vimrc 末尾,看看这是否适合你。
您还可以看到http://vim.wikia.com/wiki/Using_GUI_color_settings_in_a_terminal
答案2
我找到了解决方案。我想我必须回答我自己的问题。我真的很绝望,所以我继续一个接一个地删除插件捆绑清洁!在文德尔检查是否有任何插件行为异常。
这不是我的 .vimrc 的问题。这是与易动和CS近似值插件。
我有我的易动配置之前CS近似值在文德尔我遵循了这一条的说明。
https://github.com/Lokaltog/vim-easymotion/issues/55
这是另一个可能对遇到与我相同问题的人有所帮助的方法。