我知道在stackoverflow上有一些关于这个的线程,但当我写":set list"在编辑器中,它似乎显示隐藏的字符,但它不显示我们遇到问题的代码中的隐藏字符。
现在有些时候我们的代码中有一些不可见的符号,如果循环中断,我不知道符号是如何到达的,除了一些奇怪的键盘组合很多都被意外输入。代码本身看起来正确但看不见符号打破它。
我在网上搜索过这个,但我能找到的所有内容似乎都是":set list" vim中的命令除了必须更改隐藏字符的颜色外,虽然这似乎显示了一些隐藏的字符,但它不会显示有问题的字符。我们得到两个看起来像十字架的符号,一个看起来像一把手枪。我们还尝试添加" draw_white_space"在sublime文本中设置,但这似乎只显示,好像,它说的whitspace但结果显示在谷歌上显示hiden字符所以我试了一下。
我们能够看到符号所在的唯一方法是使用DiffMerge工具,我们无法在任何其他编辑器中看到这些符号,但我们实际上已经能够将符号复制到自己的文件中grep遍历带-f grep选项的所有文件,但是使用键绑定更容易在vim中显示字符。
有人有什么建议吗?当问题是一个不可见的符号时,这导致我们使用更多的时间来调试代码。
答案 0 :(得分:4)
尝试以下搜索命令:
/[^ -~<09>]
(按Tab键获得<09>
)。或者如果你想摆脱那些讨厌的标签,只需:
/[^ -~]
这将找到并突出显示任何非ASCII或控制ASCII字符。
如果您仍然有隐藏的字符,可以在搜索之前尝试此命令:
:set enc=latin1
这样可以防止在您的代码中显示任何奇怪的Unicode字符。