Assim, a maneira mais fácil de fazer isso (além de escrever um plug-in bastante extenso) é macro . Aqui está o swap_line_down_and_indent.sublime-macro
:
[
{
"command": "swap_line_down"
},
{
"command": "indent"
}
]
e swap_line_up_and_indent.sublime-macro
:
[
{
"command": "swap_line_up"
},
{
"command": "move",
"args":
{
"by": "lines",
"forward": true
}
},
{
"command": "indent"
}
]
Salve os arquivos em Packages/User
, em que Packages
é a pasta aberta ao selecionar Preferences → Browse Packages…
. Em seguida, edite seu mapa de teclado personalizado com o seguinte:
{
"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"
}
}
e você deve estar tudo pronto. Há algumas ressalvas, no entanto. Estas macros só irão recuar um nível, então você pode precisar usar Ctrl ] para recuar a linha. Além disso, assume-se que a linha a ser recuada é a linha inferior após o comando swap_line_[up|down]
ser executado.