Vim错误:E474:参数无效:listchars = tab:»·,trail:·

时间:2013-08-19 19:25:30

标签: vim

要点:

我在.vimrc文件中有以下行

时收到以下错误

错误:

E474: Invalid argument: listchars=tab:»·,trail:·

的.vimrc:

set list listchars=tab:»·,trail:·

我已经对此进行了研究,似乎与正确设置的UTF-8编码有关。

系统设置:

lsb_release:

Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:        12.04
Codename:       precise

区域设置:

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

5 个答案:

答案 0 :(得分:87)

<强>解决方案:

将以下行放在.vimrc顶部错误提及:

<强>的.vimrc:

scriptencoding utf-8
set encoding=utf-8

答案 1 :(得分:14)

其他解决方案都不适合我。

我的listchars看起来像这样:

listchars=eol:~,tab:>.,trail:~,extends:>,precedes:<,space:_

问题是我的Vim对于space:中的listchars参数太旧了。我们可以在this post中读到(我修改了引号以使其更具可读性):

  2015年2月21日,Bram将

space:添加到listchars的{​​{1}}。   Debian安装Vim的股票并不提供v7.4.710

删除尾随space:可以解决问题。

但是等等!我希望我的vimrc可以移植

好吧,正如 816-8055建议你可以在你的vimrc中使用,space:_

if has()

答案 2 :(得分:3)

不是您特定问题的真正解决方案,但另一种(非utf8安全)方式可能只是使用ASCII字符,如下所示:

set listchars=tab:>-,trail:.,precedes:<,extends:>

如果您有UTF-8可用,Justins解决方案当然是更好的。

答案 3 :(得分:2)

只需将breakpoint: number; constructor() { } ngOnInit() { this.breakpoint = (window.innerWidth <= 400) ? 1 : 3; } onResize(event) { this.breakpoint = (event.target.innerWidth <= 400) ? 1 : 3; } 放在我的_vimrc中的任何位置,但是在set enconding=utf8解决之前

答案 4 :(得分:0)

制表符的格式应为 XY,即两个字符。已回答 here