我在 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
它本质上是一个基于行的编辑器。