AnySwap
未提供描述
详情
安装数量
- 总数 265
- Win 196
- Mac 45
- Linux 24
Aug 6 | Aug 5 | Aug 4 | Aug 3 | Aug 2 | Aug 1 | Jul 31 | Jul 30 | Jul 29 | Jul 28 | Jul 27 | Jul 26 | Jul 25 | Jul 24 | Jul 23 | Jul 22 | Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
Any Swap
Sublime Text 3
的一个插件,帮助用户交换当前光标处的参数、行和表达式。
行为类似于IntelliJ IDE中的Move-Element-Left/Right
,但更智能。它基于一个通用的抽象语法树分析器,允许用户递归地交换复杂的表达式,同时保持正确的操作符优先级。
使用方法
首先,通过Package Control(尚未发布)安装包AnySwap
,或者将此仓库克隆到您的Sublime Text 3/Packages/
文件夹中。
将命令any_swap
与参数forward
等于true
或false
绑定到您喜欢的键。默认情况下,命令设置为alt+[
和alt+]
。
{ "keys": ["alt+["], "command": "any_swap", "args": {"forward": false} },
{ "keys": ["alt+]"], "command": "any_swap", "args": {"forward": true} },
将光标(|)置于单词/括号的开始/结束处,然后触发命令。
功能
参数
func(a|, b) => func(b, a|) => func(|a, b)
func(int a|, int b) => func(int b, int a|) => func(|int a, int b)
行
a|, b => b, a| => c, d
c, d c, d b, a|
数学表达式
a| * b + c => b * a| + c => c + b * a|
(a| + b) * c => (b + a|) * c => c * (b + a)|
带有函数的表达式
func(a| + b, c) * d => func(b + a|, c) * d => func(c, b + a|) * d => d * func(c, b + a)|
嵌套函数的表达式
func(a().b(c| + d), f) => func(a().b(d + c|), f) => func(f, a().b(d + c)|)
逻辑表达式
a| and b or c => b and a| or c => c or b and a|
if a| and b => if b and a|
数组表达式
a[0|][1] => a[1][0|]
a[b[c| + 1]][0] => a[b[1 + c|]][0] => a[0][b[1 + c]|]
语句
a = 1|; b = 2; => b = 2; a = 1;|
return a|, b => return b, a|
跨行表达式
func(a|, => func(b,
b) a|)