0

ターミナル ウィンドウを使用するときに、すべてのカラースキームの背景を上書きしようとしています。これは主に、透明なターミナル ウィンドウが奇妙に刺激的であることがわかったためです。カラースキームが変更されるたびに実行される自動コマンドの定義に向けて、私の研究のすべての最善の努力が指摘されています。現在、コマンドは次のようになっています。

autocmd ColorScheme * so rmbackground.vim

rmbackground.vim は私自身が作成したファイルで、基本的に次のような一連のハイライトコマンドをリストしています。

hi Normal ctermbg=NONE
hi Comment ctermbg=NONE
...

奇妙なことに、rmbackground.vim ファイルを手動でソースするとすべてが正しく機能しますが、自動コマンドは期待どおりに実行されません。rmbackground-file 全体をソースする代わりに、単一の hilight コマンドを autocmd として指定しても機能しません。

私は問題全体について非常に混乱しています。以下は、私が気付いていない競合がある場合の完全な vimrc と rmbackground.vim です。(設定を作成し始めたばかりなので、現時点ではファイルは恐ろしいものですが、許していただければ幸いです;-))

.vimrc

runtime bundle/vim-pathogen/autoload/pathogen.vim
call pathogen#infect()

"Turn on syntax
if has("syntax")
  syntax on
endif

"Jump to last edited line
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

"Indent correctly
if has("autocmd")
  filetype plugin indent on
endif

set t_Co=256 "use 256 colors
let g:CSApprox_attr_map = { 'bold' : 'bold', 'italic' : '', 'sp' : '' }

set background=light
colorscheme twilight

set showcmd     " Show (partial) command in status line.
set showmatch       " Show matching brackets.
set ignorecase      " Do case insensitive matching
set smartcase       " Do smart case matching
set hlsearch        " Highlight search-terms
set incsearch       " Incremental search
set autowrite       " Automatically save before commands like :next and :make
set hidden             " Hide buffers when they are abandoned
set mouse=a     " Enable mouse usage (all modes)

set history=1000

runtime macros/matchit.vim

set wildmenu
set wildmode=list:longest

set title
set scrolloff=3
set backupdir=~/.vim/tmp,~/.tmp,/var/tmp,/tmp
set directory=~/.vim/tmp,~/.tmp,/var/tmp,/tmp
set ruler

set backspace=indent,eol,start

set tabstop=4
set softtabstop=4
set shiftwidth=4
set shiftround "Round the indention nicely with other indents

set visualbell

"!autocmd
autocmd ColorScheme * so rmbackground.vim

rmbackground.vim

"Remove background set by colorscheme
hi Normal ctermbg=NONE
hi Comment ctermbg=NONE
hi Constant ctermbg=NONE
hi Special ctermbg=NONE
hi Identifier ctermbg=NONE
hi Statement ctermbg=NONE
hi PreProc ctermbg=NONE
hi Type ctermbg=NONE
hi Underlined ctermbg=NONE
hi Todo ctermbg=NONE
hi String ctermbg=NONE
hi Function ctermbg=NONE
hi Conditional ctermbg=NONE
hi Repeat ctermbg=NONE
hi Operator ctermbg=NONE
hi Structure ctermbg=NONE
4

1 に答える 1

4

のコマンドは.vimrc順番に実行されます。あなたは最初の設定です:colorscheme:autocmd、最後にしか来ません。

autocmdをコマンドの前に移動するか(コマンドがすでに適用されているように)、コマンドの後に:colorscheme明示的に移動して、後で動的に変更する場合にのみ使用します。:source rmbackground.vim:colorscheme:autocmd

于 2012-09-16T18:50:08.853 に答える