让VIM游标像Elvis一样

时间:2014-02-03 15:10:42

标签: ubuntu slackware

我一直在使用Slackware Linux,因为它几乎是第一个版本。多年来,我已经习惯了Elvis编辑,但现在我正在尝试切换到Ubuntu(更新,轻松查找软件包等)。最值得习惯的是VIM。我喜欢其中的一些功能,但Elvis中有一个功能似乎无法在VIM中复制。

例如,使用以下PHP代码:

$A = 2;
$B = 3;
$C = 4;

现在,请说我希望将这些变量放在名为MyVars的类中。这会将上面的代码块改为:

$MyVars->A = 2;
$MyVars->B = 3;
$MyVars->C = 4;

在猫王中,我会在MyVars->之前插入A并点击ESC,然后向下移动一行,左箭头移至B,点击{{ 1}}重复命令,当我再次向下移动光标时,光标已准备好再次直接插入.前面。这节省了大量时间,特别是当存在需要完成相同更改的20或30个变量的列表时。在VIM中,光标不会像这样。在第二个向下光标之后,光标在C之后的;处结束,这意味着我需要按下左箭头5次以使光标返回到所需位置。这可能是20或30倍,具体取决于需要编辑的行。

我似乎无法在任何编辑器的文档中找到任何可以改变它的内容。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我不确定是否有可能从Vim游标中获得你想要的东西(不会过多地改变Vim),但是我知道如何实现你想要的。

通常使用blockwise visual mode完成此操作。例如。要执行您的示例所需的重构,您将:

  • 使用Ctrl-V选择所有三行以进入可视模式。
  • Shift-I进入插入模式
  • 更改第一个条目
  • 离开可视模式。更改将应用​​于所有行。

我认为这比Elvis提供的解决方案更有效。


如果使用插件,则更好的方法是multiple-cursor mode。每行添加一个游标,对每个行执行相同的操作。