2

例如:

<div>somestuff</div>
<div>somemorestuff</div>
<div>somestuff</div>
<div>somestuff</div>
<div>somestuff</div>
<div>somestuff</div>
<div>somestuff</div>

想分配class="abc"给每一个。

现在我意识到有 Ctrl+Alt+Arrows 可以“雕刻”出光标的垂直路径(巧妙的技巧!),之后我可以粘贴到我的班级中,但如果我的 div 被一些行分隔,那将不起作用.

所以我想粘贴:

<div class="abc">somestuff</div>
<div>somemorestuff</div>
<div>somestuff</div>
<div>somestuff</div>
<div>somestuff</div>
<div>somestuff</div>
<div>somestuff</div>

但它把我的光标放在这里

<div class="abc"|>somestuff</div>

我希望它留在这里

<div| class="abc">somestuff</div>

这样我就可以重复Ctrl+V

4

3 回答 3

3

我要做的是选择<div,然后CTRL+D选择每个相同的文本。然后,您可以相应地将光标移动到每一个上。

于 2013-03-18T22:01:07.653 回答
3

我认为实现您需要的最佳方法是使用 command split selection into lines, Ctrl+ Shift+ L(Mac 上的Cmd+ Shift+ )。L

  1. 选择您需要编辑的所有行
  2. Ctrl+ Shift+L
  3. 将光标(使用箭头键)移动到要粘贴代码的位置
  4. 粘贴您的代码。

如果你真的想让光标停留在粘贴文本的开头,你可以创建一个插件。Tools/New Plugin...

import sublime_plugin


class PasteAndResetCursorPositionCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        start_region = self.view.sel()[0]
        self.view.window().run_command("paste")
        self.view.sel().clear()
        self.view.sel().add(start_region)

将其保存在您的Packages/User目录中。

然后将键绑定添加到您的Key Bindings - User

{ "keys": ["ctrl+alt+shift+v"], "command": "paste_and_reset_cursor_position" }

当然,您可以使用您喜欢的快捷方式。

于 2013-03-19T07:24:05.120 回答
0

我喜欢插件解决方案,并认为还有一个值得一提的解决方案,特别是因为这个问题特别要求重复点击“向下,ctrl + v”的简单性......

将光标放在要输入文本的位置,并使用shift+ctrl+down将光标点“倍增”到尽可能多的行上。键入您想要的内容,然后单击esc以返回单点光标。

类似于@derek_duncan 的答案,但具有更精细的控制,假设您正在编辑的文本与您的示例一样排列。

于 2013-04-08T21:57:06.517 回答