
Recentemente, experimentei o atom. Apesar de ser muito lento, havia uma coisa que gostei: a forma como o recuo automático funcionava, basicamente em todos os lugares.
eu encontreiaquicomo fazer Paste + Indent the default
em texto sublime.
Mas eu também gostaria que:
{ "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+shift+down"], "command": "swap_line_down" },
tornar swap_line_up_and_indent
-se tal que se eu tiver:
console.log('hello');
function() {
}
e eu ctrl+shift+down
, eu recebo:
function() {
console.log('hello'); // indented yai!!
}
Qualquer chance?
Responder1
Então, a maneira mais fácil de fazer isso (além de escrever um plugin bastante extenso) émacro. Aqui está 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 Packages/User
onde Packages
a pasta está aberta ao selecionarPreferences → 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. No entanto, existem algumas ressalvas. Essas macros recuarão apenas um nível, portanto, pode ser necessário usar Ctrl]para recuar ainda mais a linha. Além disso, presume-se que a linha a ser recuada seja a linha inferior após a swap_line_[up|down]
execução do comando.
Responder2
Você também pode fazer isso usando o pacote 'Chain of Command'. Instale o pacote e adicione o seguinte ao arquivo de combinações de teclas do usuário:
{
"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}]
],
},
}