在下面一行中

gg <- ggplot(dt.llh, aes(x = entropy.rel, group = as.factor(cell.type))) +

如何用最少的按键删除以下部分代码?

, 组 = as.因子(细胞.类型)

我通常会手动转到末尾entropy.rel,然后使用dt)x,但有没有办法说“删除直到第二次出现)”?

2

  • “用最少的按键?” ——这读起来像一个 vimgolf 问题,而且


    – 


  • 为什么你的例子和你的标题不一致?你的例子只要求df),但你的标题要求删除第二次出现的)


    – 


最佳答案
4

d2f)

  • d:删除
  • 2:直到第二次出现分隔符
  • f:向前并包含分隔符
  • ): 分隔符为)

1

  • 好吧,或者2t)为了配合原帖的“til”


    – 

如果您不介意基于插件的解决方案,您可以使用添加参数文本对象。

最低配置如下:

require("nvim-treesitter.configs").setup({
  ensure_installed = { "r" },
  textobjects = {
    select = {
      enable = true,
      keymaps = {
        ["ia"] = "@parameter.outer",
        ["aa"] = "@parameter.outer",
      },
    },
  },
})

之后,您可以使用 删除该参数(从其上的任何位置)daa

我会这么做:

d])

移动])到匹配的括号,这样您就不必计算要跳过多少个。

特别是在以下情况下,这种方法也有效:

gg <- ggplot(dt.llh, aes(x = entropy.rel, group = as.factor(cell.type) + (foo * (bar - x))) +

删除带有匹配括号的函数调用时,使用%

d%

这将实现您想要的功能,而无需计数。请注意,%向前搜索到括号,然后跳转到其匹配项,因此, group =也包括该位。