gpt4 book ai didi

vim - 如何在 vim 宏中包含光标移动

转载 作者:行者123 更新时间:2023-12-02 06:21:29 26 4
gpt4 key购买 nike

宏似乎没有考虑击键。在这种特殊情况下,我想编写一个注释掉一行的宏(在 latex 注释中以 % 开头)。以下是我使用的击键:

q +一个 +0 +w + +% +j +j +j +q

将宏分配给 a,转到行首,进入插入模式,放置百分号,退出插入模式,向下移动一行,并结束宏。然后我像这样使用宏

@ +一个

如果我有 4 行这样

1   In This life I have learned one thing █
2 It is pity incarnate of which I sing.
3 You have been told about the back of the crowd
4 And I repeat it, plenty loud.

使用宏三次导致这个

1   %%%In This life I have learned one thing █
2 It is pity incarnate of which I sing.
3 You have been told about the back of the crowd
4 And I repeat it, plenty loud.

当我想要的是这个

1   %In This life I have learned one thing █
2 %It is pity incarnate of which I sing.
3 %You have been told about the back of the crowd
4 And I repeat it, plenty loud.

更具体地说,我希望能够执行 30 + @ + a 来注释掉 30 行。我该怎么做?

最佳答案

我会去:

:.,+30 s/^\s*/&%

解释:

  • .,+30 是从当前行到当前行 + 30 的范围(因此跨越 31 行)(:help range)
  • s 是替换命令(:help :s)
  • / 是模式分隔符
  • ^\s* 是一个模式(:help pattern),它对应于一行开头的任意数量的空格
  • & 是插入匹配模式的替换特殊字符

其他方式:

ab©d (cursor on the c)
efgh
ijkl

键入CTRL-V2jI、你好、Esc,你会得到:

abhellocd
efhellogh
ijhellokl

关于vim - 如何在 vim 宏中包含光标移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8742908/

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