【问题标题】:Problem with recognizing "\t" for vim in python output在 python 输出中识别 vim 的“\t”的问题
【发布时间】:2011-02-10 20:54:20
【问题描述】:

我有一个类似这样的python代码

file_out.write(str(i).strip()+"\t"+str(dict1[i]).strip()+"\n")

但是当我尝试通过在写入的文件上说出 vim 来识别这一点时。

:%s/\t/|/g

但它无法识别\t

【问题讨论】:

  • 我对此没有意见。如果您正在搜索文字 \t,那么在您的 Python 脚本中,您应该转义您的选项卡。即\\t.
  • 对不起,我在文件中有一个 \t 和空格。所以我想用 \t 替换所有 \t+space 并且 Vi 无法找到 \t+space 模式。

标签: python vim sed


【解决方案1】:
:%s/\\\t/|/g

因为\ 本身就是一个特殊的字符,需要用\ 转义。

【讨论】:

  • 不需要逃跑。如果你逃避它,你实际上是在寻找一个文字 \t。
  • 他正在寻找出现在他的源代码中的\t 转义序列,因此寻找文字\t 是正确的。
【解决方案2】:

我会做 :%s/^V^I/|/g 其中^V 表示 control-V 和 ^I 表示 control-I - 这就是你如何在你的 vim 命令中获得一个选项卡!

【讨论】:

  • 不需要输入<C-v> 除非<Tab> 被映射到某个东西:替代命令没有定义完成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
相关资源
最近更新 更多