1
使用Sublime Text,我在左边的一列中有文本块,我想选择性地将一些行一个单独的文件在右边。Sublime Text - 如何创建一个键盘快捷方式将文本从一个打开的文件移动到另一个打开的文件
是否有一个现有的键盘快捷键来做到这一点,如果不是,我会怎么把它放在一起。具体的步骤是
1. Cut selection
2. Change to other column
3. Paste selection
使用Sublime Text,我在左边的一列中有文本块,我想选择性地将一些行一个单独的文件在右边。Sublime Text - 如何创建一个键盘快捷方式将文本从一个打开的文件移动到另一个打开的文件
是否有一个现有的键盘快捷键来做到这一点,如果不是,我会怎么把它放在一起。具体的步骤是
1. Cut selection
2. Change to other column
3. Paste selection
我写了一个简单的插件,以满足你的问题的要求,并具有一些新的特点:
copy
& cut
命令(从活动文档不活动的文件,适用于要么查看)将以下代码复制到:
Packages/MoveTextToInactiveDocument/MoveTextToInactiveDocument.py
import sublime, sublime_plugin
LINE_BREAK = "\n"
class MoveTextToInactiveDocumentCommand(sublime_plugin.TextCommand):
def run(self, edit, MODE = "copy"):
view = self.view
window = view.window()
#■■■ Verify Window Groups ■■■#
windowGroup_Count = window.num_groups()
if windowGroup_Count != 2:
return
#■■■ Set Active & Inactive Documents ■■■#
activeDocument_Group = window.active_group()
if activeDocument_Group == 0:
activeDocument = window.active_view_in_group(0)
inactiveDocument = window.active_view_in_group(1)
elif activeDocument_Group == 1:
activeDocument = window.active_view_in_group(1)
inactiveDocument = window.active_view_in_group(0)
#■■■ Verify Selection ■■■#
selections = activeDocument.sel()
if len(selections) == 0:
return
#■■■ Move Text From Active Document To Inactive Document ■■■#
first_InsertionPoint = inactiveDocument.size()
for region in selections:
regionText = activeDocument.substr(region) + LINE_BREAK
insertionPoint = inactiveDocument.size()
inactiveDocument.insert(edit, insertionPoint, regionText)
if MODE.lower() == "cut":
activeDocument.erase(edit, region)
#■■■ Select & Scroll To Inserted Text ■■■#
inactiveDocument_End = inactiveDocument.size()
insertedText_Region = sublime.Region(first_InsertionPoint, inactiveDocument_End)
inactiveDocument.selection.clear()
inactiveDocument.selection.add(insertedText_Region)
inactiveDocument.show(inactiveDocument.size())
window.focus_view(activeDocument)
运行打开用户sublime-keymap
文件来自0的。
添加以下key-bindings
。
{
"keys": [ "ctrl+super+c" ],
"command": "move_text_to_inactive_document",
"args": { "MODE": "Copy" }
},
{
"keys": [ "ctrl+super+x" ],
"command": "move_text_to_inactive_document",
"args": { "MODE": "Cut" }
},
您现在可以使用:
这是伟大的@ Enteleform。谢谢。代码非常容易理解,因此非常有用。 –