Как скопировать и вставить несколько строк/выборов в одно и то же количество нескольких строк/выборов, не сопоставляя их 1:1 в Sublime Text 2?

Время от времени я копирую несколько строк кода, а затем вставляю их в несколько вариантов, ожидая, что каждый выбор будет иметь этот блок кода, но вместо этого блок кода разбивается на несколько вариантов, потому что количество строк/выборов совпадает. Это поведение по умолчанию, если количество строк/выборов совпадает, что полезно, но не в таких случаях, как этот.

Моим первым побуждением было посмотреть, есть ли ярлык для отмены такого поведения, когда я вставляю так же, как ярлык «paste_and_indent» — «super+shift+v». Я не нашел ни одного, хотя.

Каждый раз, когда у меня возникает эта проблема, я отменяю выбор одного из вариантов и вставляю, затем выбираю только тот, который я снял, и вставляю.

Если кто-то знает лучший способ сделать это, пожалуйста, поделитесь.


person Artur Kim    schedule 25.10.2012    source источник


Ответы (1)


Я думаю, что единственный одноразовый способ — это создать плагин (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" }
person Riccardo Marotti    schedule 26.10.2012
comment
Да, я так и думал. Спасибо, что нашли время ответить на мой вопрос! - person Artur Kim; 26.10.2012