
Ich habe Atom kürzlich ausprobiert. Obwohl es zu langsam war, gefiel mir eines: die Art und Weise, wie die automatische Einrückung praktisch überall funktionierte.
ich fandHierwie man es Paste + Indent the default
in erhabenem Text macht.
Aber ich hätte auch gerne, dass:
{ "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+shift+down"], "command": "swap_line_down" },
so werden swap_line_up_and_indent
, dass wenn ich:
console.log('hello');
function() {
}
und ich ctrl+shift+down
bekomme:
function() {
console.log('hello'); // indented yai!!
}
Irgendeine Chance?
Antwort1
Der einfachste Weg, dies zu tun (abgesehen vom Schreiben eines ziemlich umfangreichen Plugins), ist alsoMakro. Hier ist swap_line_down_and_indent.sublime-macro
:
[
{
"command": "swap_line_down"
},
{
"command": "indent"
}
]
Und swap_line_up_and_indent.sublime-macro
:
[
{
"command": "swap_line_up"
},
{
"command": "move",
"args":
{
"by": "lines",
"forward": true
}
},
{
"command": "indent"
}
]
Speichern Sie die Dateien dort, Packages/User
wo Packages
der Ordner geöffnet wird, wenn SiePreferences → Browse Packages…
. Bearbeiten Sie als Nächstes Ihre benutzerdefinierte Tastenbelegung wie folgt:
{
"keys": ["ctrl+shift+up"],
"command": "run_macro_file",
"args":
{
"file": "res://Packages/User/swap_line_up_and_indent.sublime-macro"
}
},
{
"keys": ["ctrl+shift+down"],
"command": "run_macro_file",
"args":
{
"file": "res://Packages/User/swap_line_down_and_indent.sublime-macro"
}
}
und Sie sollten fertig sein. Es gibt jedoch ein paar Einschränkungen. Diese Makros rücken nur eine Ebene ein, daher müssen Sie möglicherweise verwenden, Ctrl]um die Zeile weiter einzurücken. Außerdem wird davon ausgegangen, dass die einzurückende Zeile die untere Zeile ist, nachdem der swap_line_[up|down]
Befehl ausgeführt wurde.
Antwort2
Sie können dies auch mit dem Paket „Chain of Command“ tun. Installieren Sie das Paket und fügen Sie der Datei mit den Benutzertastenbelegungen einfach Folgendes hinzu:
{
"keys": ["ctrl+super+up"],
"command": "chain",
"args": {
"commands": [
["swap_line_up"],
["reindent", {"single_line": false}]
],
},
},
{
"keys": ["ctrl+super+down"],
"command": "chain",
"args": {
"commands": [
["swap_line_down"],
["reindent", {"single_line": false}]
],
},
}