我有一个包含约2,000行文本的文本文件,我想删除每行文本的大部分内容。
文字采用以下格式:
Important Text that I care about. Stuff I want to delete
我对vim很新,并且已经阅读了一些关于vim命令的手册,但我仍然不确定如何删除"之后的所有文本。"在每一行。
有人可以给我一个快速命令吗?
由于
答案 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
答案 2 :(得分:1)
这与两个答案非常相似,但我认为提出答案是有价值的。
与其他答案一样,我只使用了ex替换命令:
:%s/[^.]*$//
替代说明:
%
表示所有行的范围。
[^.]
是所有非句号字符的字符类
*
是一个量词,表示0或更多匹配。
$
是一个锚点,它与VIM进行通信,我们希望这个模式在该行的末尾匹配。
答案 3 :(得分:1)
将光标放在第一行的第一个字符处。
fS<Ctrl-V>G$d
答案 4 :(得分:0)
使用search and replace
&#34; vim feature&#34;结合正则表达式:
:%s/\..*$//g