Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VIM中的多重选择_Vim_Selection - Fatal编程技术网

VIM中的多重选择

VIM中的多重选择,vim,selection,Vim,Selection,是否可以在VIM的视觉模式下选择多条非连续线(或区段)?如果是,怎么做?不,如果没有插件,这是不可能的 但是,如果可以解决问题,可以将多行复制到同一个缓冲区中 要启动“累积缓冲区”,请执行以下操作: 在视觉模式下标记要复制的节 按“a操作缓冲器a,使用下一个命令和 像往常一样猛拉它(y) 要添加到该缓冲区,请执行以下操作: 标记下一节并 按“A(将缓冲区名称大写表示“不要覆盖缓冲区,而是将其追加”) 然后再次使用y猛拉 然后,您可以随时使用“ap粘贴累积的缓冲区a 您必须安装multi

是否可以在VIM的视觉模式下选择多条非连续线(或区段)?如果是,怎么做?

不,如果没有插件,这是不可能的

但是,如果可以解决问题,可以将多行复制到同一个缓冲区中

  • 要启动“累积缓冲区”,请执行以下操作:
    • 在视觉模式下标记要复制的节
    • “a
      操作缓冲器
      a
      ,使用下一个命令和
    • 像往常一样猛拉它(
      y
  • 要添加到该缓冲区,请执行以下操作:
    • 标记下一节并
    • “A
      (将缓冲区名称大写表示“不要覆盖缓冲区,而是将其追加”)
    • 然后再次使用
      y
      猛拉
  • 然后,您可以随时使用
    “ap
    粘贴累积的缓冲区
    a

您必须安装multiselect插件才能获得此功能。请在此处找到它:

一个更为最新的答案是

(免责声明:我个人并不实际使用它,它对我的vim设置的其余部分干扰太多。如果您的vim相对干净,并且您正在从sublime转移过来,那么这肯定是您的爱好。)

我还想指出vim的录制/重播功能(q键)。通常情况下,录制也是不必要的,我可以通过反复执行升华的multi-select来完成通常的任务(例如,搜索某物,对其第一个实例执行修复,然后通过点击
n
n
四处移动和
重复编辑操作来实现后续重复)


我有我的
逗号键
nnoremap
'd到
@q
,这会重复按
qq
(记录到
q
寄存器中)记录的顺序。

我希望我能接受两个回答。这也很高兴知道。谢谢。如果你愿意删除“不,这是不可能的”"位,然后我会更新这个答案。没有实际删除,但调整了第一句话。现在应该是正确的。提示:要再次清空累积的缓冲区
a
,请键入
:let@a=''
。对于那些不费心阅读所有答案的人,下面有一个链接指向一个更为最新、更崇高的插件。是的,这个答案是插件自2006年以来,in一直没有被维护过,我考虑过做
映射,但是在使用
f
t
跳转到一行中的字符后,我如何向后搜索呢?我无法对此发表评论,因为我从未学会使用逗号键(这就是我将其映射到另一行的原因)…如果你通过使用
来超越你所追求的,那么它可能会很有用。你可以用T或F来做相反的事情