
Recientemente probé Atom. A pesar de ser demasiado lento, hubo una cosa que me gustó: la forma en que funcionaba la sangría automática, básicamente en todas partes.
encontréaquícómo hacer Paste + Indent the default
en texto sublime.
Pero también me gustaría que:
{ "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+shift+down"], "command": "swap_line_down" },
llegar a ser swap_line_up_and_indent
de modo que si tengo:
console.log('hello');
function() {
}
y yo ctrl+shift+down
, obtengo:
function() {
console.log('hello'); // indented yai!!
}
¿Cualquier oportunidad?
Respuesta1
Entonces, la forma más fácil de hacer esto (aparte de escribir un complemento bastante extenso) es mediantemacro. Aquí está swap_line_down_and_indent.sublime-macro
:
[
{
"command": "swap_line_down"
},
{
"command": "indent"
}
]
y swap_line_up_and_indent.sublime-macro
:
[
{
"command": "swap_line_up"
},
{
"command": "move",
"args":
{
"by": "lines",
"forward": true
}
},
{
"command": "indent"
}
]
Guarde los archivos en Packages/User
donde Packages
se abre la carpeta al seleccionarPreferences → Browse Packages…
. A continuación, edite su mapa de teclas personalizado con lo siguiente:
{
"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"
}
}
y deberías estar todo listo. Sin embargo, hay un par de advertencias. Estas macros solo aplicarán sangría a un nivel, por lo que es posible que tengas que utilizarlas Ctrl]para sangrar más la línea. Además, se supone que la línea a sangrar es la línea inferior después de swap_line_[up|down]
ejecutar el comando.
Respuesta2
También puedes hacer esto utilizando el paquete 'Cadena de mando'. Instale el paquete y simplemente agregue lo siguiente al archivo de combinaciones de teclas del usuario:
{
"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}]
],
},
}