Vim将所有字符替换为第一个逗号

use*_*369 4 string vim replace

我正在尝试使用VIM将所有字符替换为大文本文件中的第一个逗号(10mb +)

我有一些看起来像:

foo,bar,sun
apple,pear,goose
monkey,pig,baby
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

bar,sun
pear,goose
pig,baby
Run Code Online (Sandbox Code Playgroud)

tea*_*bob 11

以下应该这样做

:%s/^[^,]*,//
Run Code Online (Sandbox Code Playgroud)

说明:

  • :命令模式
  • %适用于每一行
  • 替补
  • / 比赛
    • ^从行的开始
    • [^,]逗号以外的任何字符
    • *(见前)重复或空
    • ,一个逗号
  • /替换
    • 没有
  • /完成

或者你可以使用sed:

sed 's/^[^,]*,//' -i FILENAME
Run Code Online (Sandbox Code Playgroud)

要么

sed 's/^[^,]*,//' FILENAME > NEWFILENAME
Run Code Online (Sandbox Code Playgroud)

编辑:次要格式并解释":"


FDi*_*off 8

您可以使用

:%norm df,
Run Code Online (Sandbox Code Playgroud)

df,在文件中的每一行上运行正常命令.从行的开头删除,包括第一个逗号.

:help :normal