Regex 正在尝试删除文档的第一列。
我正在使用以下命令删除文档的第一列:Regex 正在尝试删除文档的第一列。,regex,vim,Regex,Vim,我正在使用以下命令删除文档的第一列: %s/^[^\t]*\zs\t[^\t]*\ze//g 但它说找不到命令。有什么想法吗?如果我没弄错的话,这就可以了: :%s/^[^\t]// 该命令删除所有非制表符的前导字符 或者,如果您正在编辑制表器分隔值文档,并且希望删除第一个制表器之前的所有“列”,那么这应该可以为您做到: %s/^[^\t]*\t// 以下是删除第一列的最快方法: 按gg键转到文档中的第一个字符 按Ctrl+V键进入视觉块模式 点击G(即shift-G)转到文档末尾 点击
%s/^[^\t]*\zs\t[^\t]*\ze//g
但它说找不到命令。有什么想法吗?如果我没弄错的话,这就可以了:
:%s/^[^\t]//
该命令删除所有非制表符的前导字符
或者,如果您正在编辑制表器分隔值文档,并且希望删除第一个制表器之前的所有“列”,那么这应该可以为您做到:
%s/^[^\t]*\t//
以下是删除第一列的最快方法:
我喜欢@Peter的块选择解决方案,但如果您想使用替换,则需要以下命令:
:%s/^.//
让我们分析一下为什么这样做有效:
对所有文档执行替换:%s
选择行首后的第一个字符/^./
并将其替换为。。。没什么/
- 以下命令对我有效:
:%s/^\w*//
你是从打冒号开始命令行输入的吗?你不使用
S
而不是S
?添加几行你正在处理的文本。请不要重复。哈,我在SU上发布了这一点(见交叉帖子)。。但随后删除了它,因为不清楚第一个字符是否已经生成了第一列:)这似乎删除了包含第一个字符的列,而不一定是第一列。例如,如果要删除空白列,则此操作无效。%s/^[^\t]*\t//对我有效。它删除了tab del文件中的第一列。