如何在vim脚本中使用Unicode字符?

时间:2010-05-10 18:34:50

标签: unicode vim

我正在尝试让vim将我的标签显示为,这样他们就不会被误认为是真正的角色。我希望以下内容能够奏效:

if has("multi_byte")
    set lcs=tab:⇥ 
else
    set lcs=tab:>-
endif

然而,这给了我

E474: Invalid argument: lcs=tab:⇥

该文件采用UTF-8编码,并包含BOM。

谷歌搜索“vim编码”或类似的东西给了我许多关于编辑文件的编码的结果,但没有关于执行脚本的编码。如何将这个角色放入我的.vimrc以便正确显示?

2 个答案:

答案 0 :(得分:8)

标签设置需要两个字符。来自: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.

:set lcs=tab:⇥-这样的东西有效,但有点挫败了你的目的,因为它会产生看起来像⇥---而不是---⇥的标签,而我假设它可能是你想要的。

答案 1 :(得分:2)

尝试:

set lcs=tab:⇥\ 

确保在'\'之后放置一个空格,以便你可以逃避空间。