试图删除文档的第一列。

时间:2011-02-04 09:54:24

标签: regex vim

我正在使用下面的命令删除文档的第一列:

%s/^[^\t]*\zs\t[^\t]*\ze//g 

但它说找不到命令。有什么想法吗?

4 个答案:

答案 0 :(得分:12)

这是删除第一列的最快捷方式:

  1. g g 转到文档中的第一个字符。
  2. Ctrl + V 进入视觉区块模式。
  3. 点击 G (即shift-g)转到文档末尾
  4. 点击 x 删除第一列。

答案 1 :(得分:3)

我喜欢@Peter的块选择解决方案,但如果你想使用替换,你需要这个命令:

:%s/^.//

让我们分析一下为什么会这样:

  • :%s对所有文件执行替换
  • /^./选择行开头后的第一个字符
  • /并将其替换为......没有。

答案 2 :(得分:1)

如果我理解正确,这应该可以胜任:

:%s/^[^\t]//

该命令将删除所有不是制表符的前导字符。

或者,如果您正在编辑制表符分隔值文档并希望在第一个制表符之前删除所有“列”,那么这应该为您完成:

%s/^[^\t]*\t//

答案 3 :(得分:0)

以下命令对我有用:

:%s/^\w*//