【问题标题】:"Close Others" command shortcut in Sublime Text 2Sublime Text 2 中的“关闭其他”命令快捷方式
【发布时间】:2013-03-01 01:34:54
【问题描述】:

我正在尝试为“关闭其他”选项卡添加快捷方式,但似乎找不到该命令,这是我正在尝试的:

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

Cmd+Option+W - 有点像 Cmd+Option +H 在 OS X 中,关闭所有除了当前标签,看到了吗?

不管怎样,close_others 似乎什么也没做。我试过close_other_windowsclose_other_tabs,没有任何效果。这样做的正确命令是什么?

当我们在做的时候,你怎么知道有哪些命令可用?我的下一个将是 Cmd+Option+Shift+W - “关闭右侧标签”。

有关 Sublime 窗口管理的一些改进,请参阅“Close all tabs, but not the window, in Sublime Text

谢谢!

【问题讨论】:

    标签: command keyboard-shortcuts sublimetext2 sublimetext


    【解决方案1】:

    命令是close_others_by_index。不幸的是,它接受的参数不能通过简单的键绑定传递。

    要使其工作,您必须创建一个插件。 Tools/New Plugin...:

    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 中得到改进。
    • 我在Packages 目录下的所有文件中搜索了close_others 字符串。唯一的结果是在Default/Tab Context.sublime-menu 中使用的close_others_by_indexget_view_indexSublime Text documentation 中解释。
    • 当我使用该代码创建一个新插件时,它不起作用。为了解决这个问题,我在插件文件的末尾添加了一个换行符,并且在导入和类定义之间需要两个空行。这是我第一次编写 Python 和 Sublime 插件;这些是 Python 问题还是 Sublime 问题?
    • PEP 8 样式指南建议使用这些空行,但它们不应该是强制性的。无论如何,这是一个 Python 问题。
    • 这是一个非常方便的插件,你应该把它放在github或者人们可以从中提取的地方。感谢您的出色工作!
    【解决方案2】:

    我为此做了一个 sublime-plugin (以及“关闭其他窗口”功能)

    https://packagecontrol.io/packages/CloseOtherWindows

    【讨论】:

    • 王牌!正是我需要的:)
    • 太棒了!不仅仅是一个解决方案。
    • 谢谢曼弗雷德!这个很有用
    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 2017-01-28
    • 2015-11-27
    • 2012-10-14
    • 2013-01-08
    • 1970-01-01
    • 2012-11-03
    • 2018-03-02
    相关资源
    最近更新 更多