gpt4 book ai didi

vim - vi 一行中的多个命令

转载 作者:行者123 更新时间:2023-12-04 16:30:43 27 4
gpt4 key购买 nike

我想在 vi 中实现以下几点:

  • 删除前几列
  • 删除以特定字词开头的行
  • 删除第一个单词后的所有内容。

关于上述要求,我有以下命令

:%s/new page//g 删除前两列。
:g/abc/d , :g/xyz/d , :g/ddd/d 删除以特定单词开头的行。< br/>:%s/.*//g 删除第一个单词之后的所有内容。

总的来说,我想运行以下命令:

:%s/新页面//g
:g/abc/d
:g/xyz/d
:g/ddd/d
:%s/.*//g

如何在一个命令中执行以上所有命令。

我尝试过 | 但没有成功。

:g/abc/d|:g/xyz/d|:g/ddd/d

我收到以下错误:

E147: 不能:全局递归

我怎样才能做到这一点。我想在一个命令中执行所有命令。

谢谢

最佳答案

您可以将所有这些命令放在一个函数中:

function! AllMyCommands()
%s/new page //g
g/abc/d
g/xyz/d
g/ddd/d
%s/ .*//g
endfunction

并直接调用它:

:call AllMyCommands()

或通过自定义命令:

command! Foo call AllMyCommands()
:Foo

或通过自定义映射:

nnoremap <key> :<C-u>call AllMyCommands()<CR>
<key>

关于vim - vi 一行中的多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44160744/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com