Texto sublime: troque linha e recuo

3

Eu recentemente dei uma tentativa de átomo. Apesar de ser muito lento, havia uma coisa que eu gostava: o modo como o recuo automático funcionava, basicamente em todo lugar.

Eu encontrei aqui como fazer Paste + Indent the default no texto sublime.

Mas eu também gostaria que o:

{ "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+shift+down"], "command": "swap_line_down" },

torne-se swap_line_up_and_indent para que, se eu tiver:

console.log('hello');
function() {

}

e eu ctrl+shift+down , obtenho:

function() {
  console.log('hello'); // indented yai!!
}

Alguma chance?

    
por Augustin Riedinger 16.06.2016 / 11:05

2 respostas

2

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.

    
por 16.06.2016 / 16:11
0

Você também pode fazer isso usando o pacote 'Cadeia de Comandos'. Instale o pacote e apenas adicione o seguinte ao arquivo de ligaçõ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}]
    ],
  },
}
    
por 28.10.2018 / 04:18