Given this PHP code (for example):
$a = [
'b' => 2,
'a' => 4,
'k' => 5,
'f' => 1,
'd' => 3,
];
$b = new Foo(
b: 2,
a: 4,
k: 5,
f: 1,
d: 3,
);
You can use vi(
and vi[
to visually select the text within the array or parentheses, and then ":sort" to sort the text within the selected range.
Using vi(
and vi[
instead of vi)
and vi]
excludes the lines that around the text to sort.
After running these commands, you should get this:
$a = [
'a' => 4,
'b' => 2,
'd' => 3,
'f' => 1,
'k' => 5,
];
$b = new Foo(
a: 4,
b: 2,
d: 3,
f: 1,
k: 5,
);
At some point, I'll look into saving this as a macro with a keymap like <leader>sa
(sort arguments) and <leader>sk
(sort keys).