删除所有字符"。"在每一行

时间:2014-06-08 22:55:04

标签: vim

我有一个包含约2,000行文本的文本文件,我想删除每行文本的大部分内容。

文字采用以下格式:

Important Text that I care about. Stuff I want to delete

我对vim很新,并且已经阅读了一些关于vim命令的手册,但我仍然不确定如何删除"之后的所有文本。"在每一行。

有人可以给我一个快速命令吗?

由于

5 个答案:

答案 0 :(得分:19)

替换:

:%s/\..*/./

使用:normal命令:

:%norm f.lD

答案 1 :(得分:14)

各种其他:normal解决方案:

:%norm )Dx
:%norm $T.D
:%norm f.C.
:%norm 0/\. /e<C-v><CR>D

:normal

答案 2 :(得分:1)

这与两个答案非常相似,但我认为提出答案是有价值的。

与其他答案一样,我只使用了ex替换命令:

 :%s/[^.]*$//

替代说明:

%表示所有行的范围。

[^.]是所有非句号字符的字符类

*是一个量词,表示0或更多匹配。

$是一个锚点,它与VIM进行通信,我们希望这个模式在该行的末尾匹配。

答案 3 :(得分:1)

将光标放在第一行的第一个字符处。

fS<Ctrl-V>G$d

答案 4 :(得分:0)

使用search and replace&#34; vim feature&#34;结合正则表达式: :%s/\..*$//g