2013-03-13 3 views
19

I für „Schließen Andere“ Tabs eine Verknüpfung hinzufügen bin versucht, aber kann nicht scheinen, um den Befehl zu finden, hier ist das, was ich versuche:„Close andere“ Befehl Verknüpfung in Sublime Text 2

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

Cmd + Option + W - Art wie Cmd + Option+ H in OS X, in der Nähe aller außer aktuellen Tab, sehen?

Wie auch immer, close_others scheint nichts zu tun. Ich habe versucht close_other_windows, close_other_tabs, nichts funktioniert. Was ist der richtige Befehl, um das zu tun?

Und woher wissen Sie, während wir wissen, welche Befehle verfügbar sind? Mein nächstes wird ein Cmd + Option + Verschiebung + W sein - "Close Tabs rechts".

Für einige Verbesserungen in Sublime Fenster-Management finden Sie unter "Close all tabs, but not the window, in Sublime Text"

Dank!

Antwort

46

Der Befehl lautet close_others_by_index. Leider braucht es Argumente, die nicht über eine einfache Tastenanbindung übergeben werden können.

Damit es funktioniert, müssen Sie ein Plugin erstellen. 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}) 

speichern es in Packages/User Verzeichnis. Dann können Sie Ihre Tastenbelegung hinzufügen:

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

Das gleiche gilt für "Schließen Sie die Tabs auf der rechten Seite". Der Befehl lautet close_to_right_by_index.

Das Plugin:

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}) 

Der Schlüssel Bindung:

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

Erstaunlich, danke! Woher weißt du all das Zeug? Hoffe, das wird in Sublime 3 verbessert werden. – firedev

+5

Ich suchte nach 'close_others' string für alle Dateien unter' Packages' Verzeichnis. Das einzige Ergebnis war 'close_others_by_index', das im' Default/Tab Context'-Menü verwendet wurde. 'get_view_index' wird in [Sublime Text Dokumentation] (http://www.slimetext.com/docs/2/api_reference.html#sublime.Window) erklärt. –

+0

Wenn ich ein neues Plugin mit diesem Code erstellt habe, hat es nicht funktioniert. Um es zu beheben, fügte ich am Ende der Plugin-Datei einen Zeilenumbruch hinzu und benötigte zwei leere Zeilen zwischen der Import- und der Klassendefinition. Dies ist das erste Mal, dass ich Python und ein Sublime-Plugin schreibe. waren diese Python-Probleme oder Sublime-Probleme? –

Verwandte Themen