Vim: select 整块没有最后一句话

Vim: select a whole block without last word

我在 vim 中使用 R(使用 vim-slime 和 nvim 终端)。这个工作流程非常简单,我只是 select 编写一堆代码并通过快捷方式将其发送到终端。

假设我正在编写如下代码:

r %>%
  filter(label %in% intrest_lbs) %>%  
  group_by(bin) %>%  
  mutate(percentage = sum_N / sum(sum_N)) %>%  
  ungroup() %>%  
  complete(bin, label, fill = list(percentage = 0)) %>%  
  mutate(label = fct_relevel(label, intrest_lbs)) %>%  
  filter(bin <= 14) %>%  
  ggplot(aes(x = bin, y = percentage, fill = label)) +  
    geom_area(alpha = 0.6, size = 0.3, colour = "black") +
    scale_y_continuous(labels = scales::percent) +    
    labs(title = condition, x = "Bin [s]", y = "Perc of sacc. [%]")

我经常想检查这个管道的一些中间结果,假设我只是不想检查第一个 mutate 是否按预期工作。 我正在寻找一种 selecting 前四行的简洁方法,但没有最后一个管道运算符 (%>%) 以便将它无误地发送到 R 解释器中。

所以我想select:

r %>%
  filter(label %in% intrest_lbs) %>%  
  group_by(bin) %>%  
  mutate(percentage = sum_N / sum(sum_N)) 

仅此而已。一些智能地图将会非常有用。

您可以创建一个映射来发送任何视觉 selected 区域,如下所示:

xmap <LEADER>s <Plug>SlimeRegionSend

然后由您决定如何最好地从视觉上 select 该区域。对于你的例子, 将光标放在第一行的第一列(并且在您 过渡到视觉模式)你可以这样做:

3jt%

然后<LEADER>s发送。