如何在 Sublime Text 2 中将多行/选择复制并粘贴到相同数量的多行/选择而不将它们 1:1 映射?

Art*_*Kim 5 keyboard-shortcuts copy-paste multiline multipleselection sublimetext2

我经常复制多行代码,然后将它们粘贴到多个选择中,希望每个选择都有该代码块,但代码块却被分割成多个选择,因为行/选择的数量匹配。如果行/选择的数量匹配,这是默认行为,这很有用,但在像这样的情况下则不然。

我的第一直觉是看看是否有一个快捷方式可以取消该行为,因为我正在粘贴,就像“paste_and_indent”的快捷方式是“super+shift+v”一样。但我没有找到。

每次遇到此问题时,我都会取消选择其中一项并粘贴,然后仅选择我取消选择并粘贴的一项。

如果有人知道更好的方法,请分享。

Ric*_*tti 4

我认为唯一方法是创建一个插件(Tools/New Plugin...),将剪贴板复制到所有选定的区域:

import sublime, sublime_plugin

class FullMultilinePasteCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        for region in self.view.sel():
            self.view.insert(edit, region.begin(), sublime.get_clipboard())
Run Code Online (Sandbox Code Playgroud)

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

然后您可以添加键绑定 ( Preferences/Key Bindings - User):

{ "keys": ["alt+super+v"], "command": "full_multiline_paste" }
Run Code Online (Sandbox Code Playgroud)