.vimrc:获取E474:无效参数:listchars = tab:无论我做什么

时间:2014-01-07 01:03:47

标签: vim

使用自定义的.vimrc文件加载vim时出现错误。

错误

E474: Invalid argument: listchars=tab:

我尝试了很多东西,包括将这些行放在我的文件中:

scriptencoding utf-8  
set encoding=utf-8  
set fileencoding=utf-8  
set bomb  

到目前为止,经过多个小时的研究,我找不到修复,我知道这与UTF-8编码有关但有所收获,我似乎无法找到有用的东西。

这是我的.vimrc文件

scriptencoding utf-8
set encoding=utf-8
set fileencoding=utf-8
set bomb

echo "My vimrc Loaded"

set nocompatible              " be iMproved
filetype off                  " required!

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()  

" let Vundle manage Vundle
" required!  
Bundle 'gmarik/vundle'

Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'

Bundle 'L9'
Bundle 'FuzzyFinder'

Bundle 'git://git.wincent.com/command-t.git'

Bundle 'nerdtree'
Bundle 'ctrlp.vim'
Bundle 'syntastic' 

color darkspectrum

set tabstop=4
set shiftwidth=4
set autoindent
"set smartindent
"set expandtab
set hlsearch
"set showcmd
set number

set list 
set listchars=tab:| 

autocmd VimEnter * NERDTree

let NERDTreeShowHidden=1

filetype plugin indent on     " required!  

此外,这是我的语言环境,以防您需要它:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"  
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

2 个答案:

答案 0 :(得分:2)

你需要逃避角色:

set listchars=tab:\|\ 

答案 1 :(得分:1)

您需要向'X'提供两个字符,例如'Y'listchars=tab:XY。您的代码只提供一个'|'字符,但需要第二个字符。

以下是vim中help listchars的相关摘录解释:

      tab:xy        Two characters to be used to show a tab.  The first
                    char is used once.  The second char is repeated to
                    fill the space that the tab normally occupies.
                    "tab:>-" will show a tab that takes four spaces as
                    ">---".  When omitted, a tab is show as ^I.