gpt4 book ai didi

vim - 是否有一种简单的内置方法可以删除 vim 中 block 的第一行和最后一行?

转载 作者:行者123 更新时间:2023-12-04 22:50:21 24 4
gpt4 key购买 nike

编程中相当常见的任务是删除当前块上的条件。

在 vim 中,是否有一种简单的方法可以删除当前块的第一行('if' 语句)和最后一行(右花括号),并可能相应地重新缩进。如果这个内置没有简单的组合键,那么编写脚本的直接方法是什么?

进一步考虑一下,当然 if 语句上的条件可能跨越多行,因此大概需要一个脚本来完全捕获它。但是,对于我的代码,仅删除第一行和最后一行就可以捕获 95% 的情况。

最佳答案

可能的解决方案

yiBvaBVpgv<
  • yiB猛拉内部块
  • vaBV手动选择一个块,然后按行选择它
  • p粘贴在视觉上选择的文本
  • gv<重新选择文本并取消缩进

  • 环绕映射又名删除周围块:
    nnoremap dsB yiBvaBVpgv<

    ib 提供了一个更短的解决方案。此解决方案不会改变视觉标记: '< , '>
    diB]pkdk
  • diB删除当前内部块
  • ]p将新删除的文本粘贴到块末尾下方,但要调整缩进。
  • kdk向上移动一行,然后向上删除 2 行,从而删除块的开头和结尾。
  • 关于vim - 是否有一种简单的内置方法可以删除 vim 中 block 的第一行和最后一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473982/

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