在vi中,将不可见字符转换为转义序列?

在vi中,将不可见字符转换为转义序列?

我在 vim 中的文本看起来像,

i am one line
i come in next line
    i come after a tab space

上面的文字可以这样转换吗

i am one line\ni come in next line\n\ti come after a tab space

答案1

根据我对您问题的理解,您希望将换行符转换为文字序列反斜杠,后跟制表n符,并将制表符转换为文字序列反斜杠,后跟t

对于替换制表符,当然,没问题,它与普通字符串替换相同。尝试这个:

:%s/\t/\\t/

注意:转义序列的识别,如\t搜索模式中的转义序列可能只能在 Vim 中工作。我不知道。如果它在您的位置不起作用,vi那么您必须在该位置键入实际的制表符。该选项卡将显示为(但与后面的^I不同)。^I

:%s/^I/\\t/

对于换行符,尝试同样的操作:

:%s/\n/\\n/

再说一遍,这个可能仅限 Vim,我不确定。对于替换换行符,您可能会运气不好,vi因为vi它本质上是一个基于行的编辑器。

相关内容