我一直在使用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倍,具体取决于需要编辑的行。
我似乎无法在任何编辑器的文档中找到任何可以改变它的内容。
任何帮助都将不胜感激。
答案 0 :(得分:1)
我不确定是否有可能从Vim游标中获得你想要的东西(不会过多地改变Vim),但是我知道如何实现你想要的。
通常使用blockwise visual mode完成此操作。例如。要执行您的示例所需的重构,您将:
Ctrl-V
选择所有三行以进入可视模式。Shift-I
进入插入模式我认为这比Elvis提供的解决方案更有效。
如果使用插件,则更好的方法是multiple-cursor mode。每行添加一个游标,对每个行执行相同的操作。