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

问题描述:

每隔一段时间,我会复制多行代码,然后将其粘贴到多个选项中,期望每个选区都具有该代码块,但是代码块会拆分为多个选区,因为行/选区的数量相匹配。如果行数/选择匹配,这是默认行为,这很有用,但不是像这样的情况。如何将多行/选区复制并粘贴到相同数量的多行/选区,而无需在Sublime Text 2中将它们映射为1:1?

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

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

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

我认为只有一枪方法是创建一个插件(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()) 

保存在你的Packages/User目录。

那么你可以添加键绑定(Preferences/Key Bindings - User):

{ "keys": ["alt+super+v"], "command": "full_multiline_paste" } 
+0

是啊,这就是我的想法。感谢您花时间回答我的问题! –