借助Vim 8的新终端功能:term
,使用交互式控制台时不再需要tmux。使用sendtoterm插件将代码发送到Vim术语窗口时,我注意到我错过了Vim中的“语句文本对象”。我经常有这样的代码:
p = plot(xlims=(0,107), ylims=[0,107],
grid=false,
label="", legend=true)
vline!([107], label="", color=:black, linestyle=:dot)
我只想执行第一个命令,而不是第二个。此外,第一条语句中有换行符。因此,在这种情况下,仅发送一行以及整个段落均无效,因此必须直观地选择语句并发送此选择。我想要的是一个语句文本对象,可以用tS调用它,并且只会发送:
p = plot(xlims=(0,107), ylims=[0,107],
grid=false,
label="", legend=true)
已经有这样的文本对象,它适用于大多数编程语言,或者有更简单的方法吗?
我为自己的问题找到了一个充分的解决方案,该问题适用于以上示例,如果使用了match.it
并且位于第一行,则也适用于“ for循环”:V%
。因此,对于我的用例,将文本对象或直接将命令映射到此可视选择中是可行的。但更多精致的解决方案受到赞赏。