gpt4 book ai didi

vim - 如何使用 VIM 结合宏和正则表达式的强大功能

转载 作者:行者123 更新时间:2023-12-04 11:41:53 24 4
gpt4 key购买 nike

我发现自己经常遇到需要结合正则表达式、某种运动以及复制和粘贴的问题。我确信在 vim 中有一些方法可以做到这一点,但我还没有看到任何将它们整合在一起的东西。作为一个例子,我现在试图解决的问题是这样的。

  • 找到一行/^Description "(.*)"/
  • 保存捕获的文本
  • 转到/^TEXT "(.*)-/
  • 将上面捕获的文本替换为步骤 2 中捕获的文本
  • 根据需要重复向前浏览文件

  • 有谁知道在 VIM 中快速自动化此类任务的方法?

    最佳答案

    您可以将以下序列映射到未使用的键(例如 F2),然后根据需要多次按下它。

    :map <F2> /^Description "(.*)"<CR>y//e/^TEXT "(.*)-<CR>Pd//e

    或者,您可以添加 <F2>到最后,以便它将递归运行,直到匹配失败。
    :map <F2> /^Description "(.*)"<CR>y//e/^TEXT "(.*)-<CR>Pd//e<F2>

    让我们分解一下,看看发生了什么。这将移至您第一次搜索的开头:
    /^Description "(.*)"<CR>

    这会一直拖到您的第一次搜索结束。
    y//e

    这是您的第二次搜索:
    /^TEXT "(.*)-<CR>

    这会将您猛拉的内容放在光标之前,向右移动一个字符,然后删除直到第二次搜索结束。
    Pld//e

    关于vim - 如何使用 VIM 结合宏和正则表达式的强大功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10806150/

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