gpt4 book ai didi

vim - 使用 vim 仅复制文件中的特定行

转载 作者:行者123 更新时间:2023-12-03 23:56:25 25 4
gpt4 key购买 nike

谁能告诉我如何复制特定的行,例如文件中的第 10-20、22、24-30 行,所以我可以将其粘贴到另一个文件中吗?我看到了this正如有人指出的那样,stackoverflow 帖子,但是,我在哪里问了一个不同的问题

最佳答案

这是一个有趣的小主意。将此粘贴到您的 ~/.vimrc 中:

command! -nargs=* Y :call YankList(<f-args>)
fun! YankList(...)
let yanklist = []
for i in a:000
if match(i, "-") != -1
let split = split(i, "-")
let yanklist = yanklist + range(split[0], split[1])
else
let yanklist = yanklist + i
endif
endfor
call setreg('"', "")
for i in yanklist
call setreg('"', getline(i), "al")
endfor
endfun

现在您可以指定要拉到未命名寄存器的行。这样做:

:Y 10-20 22 24-30

并使用 p 将它们粘贴到您想要的任何位置。 (含)

我想编辑这篇文章,尽管建议使用更“vimmy”的方式来做这件事已经过时了。请参阅 :help usr_10 | 131.

你可以这样做:

10GV20G"ay
22G"AY
24GV30G"Ay
G"ap

此外,如果这些行中的每一行都包含一些特定的模式,那么您可以通过所述模式来获取它们。比如说我想拉出所有包含“foo”这个词的行,然后我可以这样做

:g/foo/y "

关于vim - 使用 vim 仅复制文件中的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11473859/

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