Sublime Text 2中的“关闭其他”命令快捷键

22

我试图添加一个“关闭其他标签页”的快捷方式,但似乎找不到该命令,以下是我的尝试:

{ "keys": ["super+alt+w"], "command": "close_others" }

Cmd+Option+W - 就像在 OS X 中的 Cmd+Option+H,关闭除当前选项卡之外的所有选项卡,明白吗?

无论如何,close_others 似乎没有任何作用。我试过了 close_other_windowsclose_other_tabs,都不起作用。哪个是正确的命令呢?

还有,在此期间,你怎么知道有哪些可用的命令呢?我的下一个命令将是 Cmd+Option+Shift+W - “关闭右侧标签”。

有关 Sublime 窗口管理的一些改进,请参见“关闭所有选项卡但不关闭窗口,在 Sublime Text 中

谢谢!

2个回答

55
命令是close_others_by_index。不幸的是,它需要通过简单的键绑定无法传递参数。
要使其工作,您必须创建一个插件。工具/新建插件...
import sublime_plugin

class CloseOthersCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        window = self.view.window()
        group_index, view_index = window.get_view_index(self.view)
        window.run_command("close_others_by_index", { "group": group_index, "index": view_index})

将其保存在Packages/User目录中。然后,您可以添加自己的按键绑定:

{ "keys": ["super+alt+w"], "command": "close_others" }

对于“关闭右侧标签页”而言同样如此。该命令是close_to_right_by_index

该插件:

import sublime_plugin

class CloseToRightCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        window = self.view.window()
        group_index, view_index = window.get_view_index(self.view)
        window.run_command("close_to_right_by_index", { "group": group_index, "index": view_index})

键位绑定:

{ "keys": ["super+alt+shift+w"], "command": "close_to_right" }

太棒了,谢谢!你怎么知道这些东西的?希望这在Sublime 3中会得到改进。 - firedev
5
我在Packages目录下的所有文件中搜索了close_others字符串,唯一的结果是在Default/Tab Context.sublime-menu中使用的close_others_by_index。在Sublime Text文档中有对get_view_index的解释。 - Riccardo Marotti
这些空白行是由PEP 8风格指南建议的,但它们不应该是强制性的。无论如何,这是一个Python问题。 - Riccardo Marotti
2
这是非常方便的插件,你应该把它放在GitHub或其他人可以拉取的地方。感谢你的出色工作! - Leonid Shagabutdinov
在 Sublime 3 上完美运行。谢谢! - Joaquin Iurchuk
显示剩余2条评论

10

太棒了!正是我所需要的 :) - Matt Fletcher
太棒了!不仅仅是一个解决方案。 - JohnnyQ
谢谢Manfred!这非常有用。 - danielgc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接