vim配置:搜索突出显示

时间:2014-09-01 03:52:33

标签: vim

设置hlsearch。当我搜索某些内容时,所选择的单词会变为白色,但所有单词都是白色默认值。但是如何选择这个词可以有不同的背景来展示它。谢谢你的帮助。 这是我的vimrc

    set autoread
    set autoindent
    set ai "auto indent
    set bsdir=buffer
    set background=dark
    set cscopequickfix=s-,c-,d-,i-,t-,e-
    set completeopt=longest,menu
    set t_Co=256
    set expandtab
    set foldmethod=indent
    set foldlevelstart=99
    set number
    set nobackup
    set nocompatible
    set ruler
    set tabstop=4
    set t_Co=256
    set hlsearch
    set laststatus=2
    set showmatch
    set showcmd
    set syn=cpp
    set shiftwidth=4
    set smarttab
    set smartindent
    set selection=exclusive
    set selectmode=mouse,key
    set si

    if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
       set fileencodings=ucs-bom,utf-8,latin1
    endif

    set nocompatible    " Use Vim defaults (much better!)
    set bs=indent,eol,start     " allow backspacing over everything in insert mode
    "set ai         " always set autoindenting on
    "set backup     " keep a backup file
    set viminfo='20,\"50    " read/write a .viminfo file, don't store more
                " than 50 lines of registers
    set history=50      " keep 50 lines of command line history
    set ruler       " show the cursor position all the time

    " Only do this part when compiled with support for autocommands
    if has("autocmd")
      augroup redhat
      autocmd!
      " In text files, always limit the width of text to 78 characters
      autocmd BufRead *.txt set tw=78
      " When editing a file, always jump to the last cursor position
      autocmd BufReadPost *
      \ if line("'\"") > 0 && line ("'\"") <= line("$") |
      \   exe "normal! g'\"" |
      \ endif
      " don't write swapfile on most commonly used directories for NFS mounts or USB sticks
      autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp
      " start with spec file template
      autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
      augroup END
    endif

    if has("cscope") && filereadable("/usr/bin/cscope")
       set csprg=/usr/bin/cscope
       set csto=0
       set cst
       set nocsverb
       " add any database in current directory
       if filereadable("cscope.out")
          cs add cscope.out
       " else add database pointed to by environment
       elseif $CSCOPE_DB != ""
          cs add $CSCOPE_DB
       endif
       set csverb
    endif

    " Switch syntax highlighting on, when the terminal has colors
    " Also switch on highlighting the last used search pattern.
    if &t_Co > 2 || has("gui_running")
      syntax on
      set hlsearch
    endif

    filetype plugin on


    if &term=="xterm"
         set t_Co=8
         set t_Sb=[4%dm
         set t_Sf=[3%dm
    endif

    " Don't wake up system with blinking cursor:
    " http://www.linuxpowertop.org/known.php
    let &guicursor = &guicursor . ",a:blinkon0"

    set background=dark
    "set background=light

    colorscheme desert

    set incsearch " 即刻显示当前输入的搜索结果

3 个答案:

答案 0 :(得分:1)

您可以使用:highlight命令

更改每种模式中的突出显示颜色

更改突出显示文字的颜色使用

  :highlight Search guifg=Red

要更改突出显示文字的背景使用

  :highlight Search guibg=Green

请参阅:help highlight-guifg以了解有关支持的选项的更多信息

答案 1 :(得分:1)

您可以使用:

:highlight Search guibg=yellow guifg=black

以黄色背景和黑色前景显示匹配的文字。

答案 2 :(得分:1)

切换colorscheme或修改它。以下内容需要在~/.vimrc中的:colorscheme命令后面

highlight Search ctermbg=yellow ctermfg=black guibg=yellow guifg=black

如果你动态切换颜色方案,你还需要这个:

autocmd ColorScheme * highlight Search ctermbg=yellow ctermfg=black guibg=yellow guifg=black

如果搜索为您的类型突出显示也会受到影响,请为IncSearch突出显示组添加类似的覆盖。