
最近、atom を試してみました。速度が遅すぎたにもかかわらず、気に入った点が 1 つありました。それは、基本的にどこでも自動インデントが機能することです。
私は見つけたここPaste + Indent the default
Sublime Text で作成する方法。
しかし、私は次のことも望んでいます:
{ "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+shift+down"], "command": "swap_line_down" },
swap_line_up_and_indent
私が持っている場合、次のようになります。
console.log('hello');
function() {
}
そして私はctrl+shift+down
、次の結果を得ます:
function() {
console.log('hello'); // indented yai!!
}
チャンスはある?
答え1
そのため、これを実現する最も簡単な方法は(かなり大規模なプラグインを書く以外では)大きい。 ここはswap_line_down_and_indent.sublime-macro
:
[
{
"command": "swap_line_down"
},
{
"command": "indent"
}
]
そしてswap_line_up_and_indent.sublime-macro
:
[
{
"command": "swap_line_up"
},
{
"command": "move",
"args":
{
"by": "lines",
"forward": true
}
},
{
"command": "indent"
}
]
選択時に開かれるフォルダにファイルを保存するPackages/User
場所Packages
Preferences → Browse Packages…
次に、次のようにカスタム キーマップを編集します。
{
"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"
}
}
これで準備は完了です。ただし、注意点がいくつかあります。これらのマクロは 1 レベルしかインデントしないため、行をさらにインデントするには を使用する必要がある場合があります。また、コマンドの実行Ctrl]後、インデントされる行は下の行であると想定されます。swap_line_[up|down]
答え2
「Chain of Command」パッケージを使用しても、同じことができます。パッケージをインストールし、ユーザー キー バインディング ファイルに次の内容を追加するだけです。
{
"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}]
],
},
}