linux-如何搜索不可见的控制字符
作者:互联网
我知道有一些关于stackoverflow的主题,但是当我在编辑器中写“:set list”时,它似乎显示隐藏的字符,但是在我们遇到问题的代码中却没有显示隐藏的字符.
有时,如果循环中断,我们的代码中会出现一些不可见的符号,我不知道这些符号如何到达那里,除非偶然输入了一些奇怪的键盘组合.代码本身看起来正确,但不可见的符号会破坏它.
我已经在网上搜索过此内容,但是除了必须更改隐藏字符的颜色外,我所能找到的似乎是vim中的“:set list”命令,但是尽管这似乎显示了一些隐藏字符,但它并不显示问题那些.我们得到了两个符号,看起来像一个十字架,一个看起来像手枪.我们也曾尝试在崇高的文本中添加“ draw_white_space”设置,但这似乎只显示出来,好吧,象这样说的whitspace,但是结果在Google上显示为显示隐藏字符,所以我尝试了一下.
我们能够看到符号在哪里的唯一方法是使用DiffMerge工具,我们无法在任何其他编辑器中看到这些符号,但实际上我们已经能够将符号复制到其自己的文件中,并通过带有-f grep选项的文件可以工作,但是在vim中使用键绑定显示字符会更容易.
有人有什么建议吗?当问题是看不见的符号时,这使我们花费大量时间调试代码.
解决方法:
尝试以下搜索命令:
/[^ -~<09>]
(您可以通过按Tab键获得< 09>).或者,如果您想摆脱那些讨厌的标签,只需:
/[^ -~]
这将找到并突出显示任何非ASCII或控制ASCII字符.
如果仍然有隐藏的字符,可以在搜索之前尝试以下命令:
:set enc=latin1
这样可以防止任何奇怪的Unicode字符出现在您的代码中.
标签:bash,vim,sublimetext2,linux 来源: https://codeday.me/bug/20191029/1961603.html