如何将多行/选区复制并粘贴到相同数量的多行/选区,而无需在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" }
是啊,这就是我的想法。感谢您花时间回答我的问题! –