首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"set listchars=tab:>-,eol:$,space:·“"space:·”部分不起作用?

"set listchars=tab:>-,eol:$,space:·“"space:·”部分不起作用?
EN

Stack Overflow用户
提问于 2019-02-20 18:34:43
回答 2查看 697关注 0票数 0

奇怪的是,在我用Windows记事本在vimrc中添加一行代码后,错误就出现了!这让我发疯!

下面是我的vimrc的":set listchars“部分:

代码语言:javascript
复制
set listchars=tab:>-,eol:$,space:·

遇到错误:

代码语言:javascript
复制
E474: invalid argument: listchars=tab:>-,eol:$,space:<a1><a4>

EN

回答 2

Stack Overflow用户

发布于 2019-02-20 20:28:05

由于使用的是非ASCII字符,因此需要使用:help :scriptencoding来指定~/.vimrc的编码。

您还覆盖了默认的'encoding',它会影响Vim中任何文本的表示,也会影响已经读入的任何非ASCII码文本的表示。因此,您首先需要:set encoding,然后(使用正确的内部表示集)才能指定脚本的编码:

代码语言:javascript
复制
set encoding=utf-8
scriptencoding utf-8
set listchars=...

或者,您也可以通过在(双引号)字符串(:help expr-quote)中编码非ASCII字符并使用:let &option而不是:set来解决vimrc编码问题

代码语言:javascript
复制
let &listchars = "tab:>-,eol:$,space:\u00B7"
票数 1
EN

Stack Overflow用户

发布于 2019-02-20 20:27:48

看起来,Vim加载的文件vimrc使用了一些非UTF-8的编码。我不知道使用的是哪种编码。

要强制Vim将vimrc解释为UTF-8,需要以下行:

代码语言:javascript
复制
scriptencoding utf-8

然后,这些行后面的所有行都被解释为UTF-8。无论Vim确定什么,该行之前的所有行都会被解释。

如果在vimrc中设置了encoding,则scriptencoding行必须在该行之后。

因此,在您的情况下,您需要:

代码语言:javascript
复制
set encoding=utf-8
scriptencoding utf-8

详情请参见:help :scriptencoding

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54784230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档