摘要:
我在.vimrc文件中包含以下行时收到以下错误
错误:
E474: Invalid argument: listchars=tab:»·,trail:·
Run Code Online (Sandbox Code Playgroud)
.vimrc中:
set list listchars=tab:»·,trail:·
Run Code Online (Sandbox Code Playgroud)
我研究了这个,它似乎与正确设置的UTF-8编码有关.
系统设置:
lsb_release:
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
Run Code Online (Sandbox Code Playgroud)
地点:
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
Run Code Online (Sandbox Code Playgroud) 在我的vim-airline展示的右边,我有! trailing[1].
我假设这意味着尾随某种空格,但我如何阅读vim-airline告诉我的内容以及我应该做什么?
我知道删除尾随空格可以使用预提交钩子完成.我有兴趣手动完成它.我在这里阅读了这个问题:
让Git在提交之前自动删除尾随空格 - Stack Overflow
最接近我想要的答案是来自ntc2的"自动版本":
(export VISUAL=: && git -c apply.whitespace=fix add -ue .) && git checkout . && git reset
Run Code Online (Sandbox Code Playgroud)
该命令运行良好,除了它似乎只是对已存在于repo中的文件的更改,而不是新文件.我有一堆新文件,这意味着它们还没有在回购中.我想从这些文件中删除空格,所以我尝试添加-A而不是-u,但这并没有什么区别.
我的.vimrc中有这行:
map gu :%s/\s\+$//<enter> :w<enter>
Run Code Online (Sandbox Code Playgroud)
删除尾随空格并同时保存文件.
当文件中有尾随空格时,它工作正常(它删除空格并保存文件),但是当没有尾随空格时它不保存文件,它只是说找不到模式:\ s + $.
注意:我发现了这一点,但我很好奇我的问题.