摘要:
我在.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) 有没有一种简单的方法可以在gvim中显示空格和制表符等空白字符?类似于Gedit,Geany,Komodo和其他GUI编辑器中实现的内容(当选项打开时)空格显示为静音或灰色'.' 和标签为' - >'.
该string
模块包含一个whitespace
属性,该属性是一个由所有被视为空格的ASCII字符组成的字符串.是否有相应的常量也包含Unicode空格,例如不间断空格(U + 00A0)?我们可以从问题" strip()和strip(string.whitespace)给出不同的结果 ",至少strip
知道额外的Unicode空白字符.
这个问题被确定为
In Python[:space:]
的副本,如何列出POSIX扩展正则表达式匹配的所有字符?,但该问题的答案确定了搜索空白字符以生成自己的列表的方法.这是一个耗时的过程.我的问题是关于一个常数.
我正在尝试从gedit切换到vim.我尝试使vim看起来类似于gedit:
特别是,我想用点表示空格.
我目前有:
有一些差异,但它看起来非常相似(这是我目前的.vimrc文件).但我没有得到那些空格点.
如何制作vim节目空间?
我找到了一些答案(比如这个)似乎建议用特殊的可见字符替换空格然后将其替换回来.我不想每次都这样做.我希望能够打开vim并查看这些空间.
我的.vimrc文件中是否有任何方法可以使用set list!
带有键绑定的命令,F3因此它的功能类似于此粘贴切换set pastetoggle=<F2>
.
我发现这个问题有答案git diff
。但是,我没有使用任何类型的版本控制来比较文件(我什至在我尝试比较的机器上没有可用的版本)。
基本上,类似于引用的问题,我试图查看空格的变化。该diff
命令可能会显示:
bash-3.2$ diff 6241 6242
690c690
<
---
>
Run Code Online (Sandbox Code Playgroud)
但我不知道那是换行符,换行符和空格,还是什么。我需要知道两个文档之间的确切更改,包括空格。我已经尝试过cmp -l -b
并且它有效,但是当有很多变化到它也不是真正有用的地步时,它很难阅读。
我真正想要的是让空白以某种方式呈现的某种方式,这样我就可以准确地说出空白是什么,例如颜色或 ^J、^M 等。我在手册中没有看到任何内容;diff --version
显示 GNU 版本 2.8.1。
再举一个例子,我还尝试diff
通过管道传输through的输出hexdump
。
bash-3.2$ diff 6241 6242 | hexdump -C
00000000 36 39 30 63 36 39 30 0a 3c 20 0a 2d 2d 2d 0a 3e |690c690.< .---.>|
00000010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | …
Run Code Online (Sandbox Code Playgroud) 我添加了set listchars=tab:»\,trail:·,extends:#,nbsp:.
用于显示不可见字符。
它适用于制表符扩展但不适用于 nbsp,我已经阅读了帮助:set listchars
并尝试了那里给出的示例,但我仍然没有得到单个空格字符的点字符。
我还需要为此做什么。任何建议。
谢谢
我很难理解这个vimgolf挑战的解决方案.
最好的解决方案是
cw(<C-R><C-P>")<Esc>w.w.ZZ
Run Code Online (Sandbox Code Playgroud)
然后我试着去做
cw(<C-R>")<Esc>w.w.ZZ
Run Code Online (Sandbox Code Playgroud)
但随后文本就变成了
(one) (one)
(one)
Run Code Online (Sandbox Code Playgroud)
代替
(one) (two)
(three)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我理解为什么.这两个命令的行为有何不同?
在Eclipse和Notepad ++中,我配置了文本编辑器,因此空间在中心有一个半透明点,这样可以很容易地计算空白.我更喜欢在文本编辑中使用空格而不是制表符,在使用像Python这样的空白敏感语言时,此功能至关重要.
我附上了一些虚拟代码的截图,以防我的措辞不明确.
无论如何,有没有办法在Vim(或GVim)中接近这个功能?我认为有突出显示,但这似乎有点不足.通过查看列号,还可以获得良好的老式数学.我还有什么其他选择?
我在标签上使用空格.在Sublime Text 2中,我会有前导空格显示如下:
我有.vimrc设置来显示标签,行结尾等.但我不知道如何复制我在Sublime中的内容.它很方便,因为我只能在使用空格时更容易看到缩进.
这是我现在的路线:
set listchars=eol:¬,tab:??,extends:>,precedes:<
Run Code Online (Sandbox Code Playgroud) 我想突出显示制表符和空格。在 Sublime Text 中我激活了一个"draw_white_space": "all"
选项。之后所有制表符和空格都会突出显示。
我想在 vim 中激活相同的选项,但我使用的所有选项都不起作用。
我尝试设置以下选项:
set listchars=tab:--
set list
Run Code Online (Sandbox Code Playgroud)
如何激活它,以及如何使突出显示的制表符和空格与上图所示的符号相同?
vim ×9
whitespace ×5
c ×1
colors ×1
diff ×1
highlight ×1
python ×1
string ×1
sublimetext ×1
unicode ×1