插入数字
Sublime Text插件,用于插入序列。支持字母数字和十六进制,以及位操作!
详细信息
安装
- 总计 36K
- Win 21K
- Mac 11K
- Linux 4K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | 6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 3 | 6 | 1 | 2 | 2 | 7 | 6 | 5 | 6 | 6 | 4 | 4 | 3 | 10 | 4 | 5 | 0 | 2 | 3 | 1 | 1 | 6 | 5 | 1 | 4 | 10 | 3 | 5 | 6 | 3 | 4 | 3 | 3 | 6 | 6 | 5 | 7 | 5 | 4 | 10 | 7 | 4 | 6 | 6 | 4 | 7 |
Mac | 3 | 4 | 0 | 0 | 1 | 5 | 2 | 0 | 1 | 0 | 0 | 2 | 5 | 2 | 3 | 5 | 1 | 0 | 2 | 2 | 4 | 2 | 3 | 0 | 0 | 1 | 1 | 3 | 2 | 4 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 1 | 7 | 1 | 1 | 1 | 4 | 0 | 0 |
Linux | 0 | 2 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
读我
插入数字
这是一个Sublime Text插件,可在多个选择项中插入(连续)数字或使用复杂的表达式语法表达式来修改选择项的内容。
安装
软件包控制
安装的最简单方法是使用软件包控制。它在列表中列出为插入数字
。
- 使用Ctrl+Shift+P或菜单项
工具 → 命令面板...
打开命令面板
- 选择
软件包控制:安装软件包
- 查找
插入数字
并按Enter
手动设置
或者,您可以克隆此存储库到Sublime Text的签名包文件夹中。
[!注意]
要找到软件包文件夹,请调用菜单 > 首选项 > 浏览软件包..
OSX
#!/usr/bin/env bash
cd ~/Library/Application\ Support/Sublime\ Text/Packages/
git clone https://github.com/SublimeText/InsertNums "Insert Nums"
Linux
cd ~/.config/sublime-text/Packages
git clone https://github.com/SublimeText/InsertNums "Insert Nums"
Windows
cd "%APPDATA%\Sublime Text\Packages"
git clone https://github.com/SublimeText/InsertNums "Insert Nums"
用法
- Windows和Linux:Ctrl+Alt+N
- OSX:⌘+⎇+N
一个输入面板打开,实时预览您当前格式字符串。如果您关闭面板(例如,通过按Esc),则更改将被撤销。如果您更愿意不使用此实时预览,可以通过按住Shift键来禁用它。
以<start>:<step>
的格式插入一个字符串并按Enter。这两个都可以省略,并默认为1
(意味着1:1
)。
然后,对于每个选择区域,插入的数字(从开始)将通过步长递增。但还有更多!
命令
prompt_insert_nums
打开一个输入面板,并实时预览,如上所述。参数
preview
可以指定在编辑格式字符串时是否显示插入数字的实时预览。默认为true
。insert_nums
这是基本命令。使用带有
format
参数的命令,并在需要频繁使用查询的情况下将其绑定到键盘快捷键。
使用数字的用法
插入数字支持整数和小数,分别作为起始值和步长,也支持负数。这意味着您可以在4个选择上使用1:.4
并获得以下内容
1.0
1.4
1.8
2.2
此外,您可以使用任意的Python表达式生成您的数字,例如位标志。请参考示例。
有关使用特定格式的信息,请参阅高级用法部分。
使用字母的用法
插入数字还可以插入字母。只需使用a
作为起始值,或者将a
更改为您希望开始的任何字符。步长仅接受整数,因为在字母表中没有表示字符分数。
引入alpha序列的一个副作用是您可以生成看似随机但实际上并不随机的序列。例如,使用a:12345
将在三个选择生成以下内容
a
rfv
ajmq
这里发生的事情仅仅是下一个字母的序列根据步长来推进。
如果您希望当达到最后一个字符(z
)时插入数字回绕,请添加~w
。因此,a:12345~w
将生成以下内容
a
v
q
有关更多选项,请参阅以下高级用法部分。
表达式模式
除了插入数字或字母外,此模式还采用选择值并允许您使用Python表达式修改它。下面将详细介绍。
高级用法(插入)
完整的语法是:<start>:<step>~<format>::<expr>@<stopexpr><reverse>
,相应的分隔符仅在实际提供以下部分时需要。每个部分本身都是可选的(默认为1:1
),但您要使用alpha模式必须提供字母起始值。
以下是一个抽象示例,展示了包含所有可选部分的语法(用[]
表示)
numbers: [<start>][:<step>][~<format>][::<expr>][@<stopexpr>][!]
alpha: <start>[:<step>][~<format>][@<stopexpr>][!]
详细语法定义:format_syntax.txt
起始值
- 使用数字(可选):根据Python的语法规范(可选的先导符号
-
或+
)的十进制整数或浮点数。 - 使用字母(必选):从字母表中(
a
到z
和A
到Z
)的要么小写要么大写的ASCII字符序列。
- 使用数字(可选):根据Python的语法规范(可选的先导符号
步长(可选)
- 使用数字:根据Python的语法规范(可选的先导符号
-
或+
)的十进制整数或浮点数。 - 使用字母:一个可选的先导符号(
-
或+
)的十进制整数。
- 使用数字:根据Python的语法规范(可选的先导符号
格式(可选)
- 使用数字:Python的格式特定迷你语言中的格式字符串(对于允许的类型做了少量和不重要的调整)。
- 包含字母:类似于 包含数字,但只针对字符串的简化版本。这仅包括
[[填充]对齐][宽度]
语法,此外还可以接受末尾的w
字符(参见上方)。
expr(可选)
仅数字:一个有效的 Python 表达式,可以根据您的意愿修改值。如果指定,然后应用 格式字符串。以下是可以使用的变量列表
s
:由step
(在格式查询中指定,默认为1
)确定的值n
:选择项数量i
:仅为 ogni 迭代计数器;从0
开始,每次循环增加1
_
:表达式之前的当前值(start + i * step
)p
:之前评估值的结果(未格式化);第一个值是0
math
、random
、re
和itertools
:为您预导入的有用模块
注意:返回值不一定要是数字类型,您还可以生成字符串、元组或布尔值。
stopexpr(可选)
有效 Python 表达式,返回 true 或 false(在布尔上下文中)的值。从理论上讲,这可以是任何值。您可以使用与 expr 相同的值,并添加以下内容
c
:由表达式评估的当前值(未格式化)或如果没有指定表达式,则与_
相同
这忽略了选择项数量,这意味着您也可以选择比选择项更多或更少的值。在从单个选择生成数字时特别有用。 - 在处理停止表达式时,如果选择项数量多于生成的数字,则将删除所有剩余选择项的文本。- 如果生成的数字多于选择项,则所有进一步的数字都由换行符(
"\n"
)连接,并添加到最后一个选择项中。这可能是第一个选择项,如果只有一个的话。reverse(可选)
必须是
!
并以逆序填充区域。
高级用法(表达式)
除了 插入数字 插入模式外,还可以指定修改当前选择项的方式。语法如下
[<cast>]|[~<format>::]<expr>[@<stopexpr>][!]
有关详细语法规范,请参阅: format_syntax.txt。
使用 |
管道显示将当前选择项传递到以下表达式的含义。stopexpr
的行为与插入模式略有不同,并且当前值 _
被调整。
cast(可选)
可以是
s
、i
、f
或b
,表示将选择项中的字符串转换为相应的类型,如果可能的话。否则将显示错误消息。s
:str
或unicode
(在 ST2 中)(默认)i
:int
f
:float
b
:bool
格式(可选)
与插入模式相同。
expr
与插入模式相同,不同之处在于
_
代表当前选择项的(转换后的)值。stopexpr(可选)
用法与插入模式相同,但
_
对于表达式模式,但是效果略有不同- 不能生成比选择项更多的值。
- 如果您生成的值少于选择项,剩余的选择项将保持不变。在表达式中返回
""
以清空它们。
reverse(可选)
必须是
!
并导致选择项被解析 和 区域被逆序填充。
示例
基本插入
1
或1 2 3 4 5 6
-10:2~3
-10 -8 -6 -4 -2 0 2 4
11:11~+4
+11 +22 +33 +44 +55 +66 +77 +88 +99 +110
使用格式插入
0.2:.002~-<5
(见g
类型(默认)在 Python 格式文档)0.2-- 0.202 0.204 0.206 0.208 0.21- 0.212
。2:2e-3~6.4f
0.2000 0.2020 0.2040 0.2060 0.2080 0.2100 0.2120
8:8~#010x!
0x00000038 0x00000030 0x00000028 0x00000020 0x00000018 0x00000010 0x00000008
表达式插入
0~#06x::1<<_
0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040 0x0080 0x0100
::i**2
1 4 9 16 25 36
序列迭代 itertools.product(['a', 'b', 'c'], ['x', 'y', 'z']))[i]
('a', 'x') ('a', 'y') ('a', 'z') ('b', 'x') ('b', 'y') ('b', 'z') ('c', 'x') ('c', 'y') ('c', 'z')
Alpha 插入
z:25~w
或z:-1~w
z y x w v u t
aa:10000~ ^6
(这里,|
表示可视化尾随空格的光标)aa | nuq | acpg | arjw | bgem | buzc | cjts |
停止表达式
注意:假设在 Before 中,每行都有一个选择范围已被选中。
Before
1 2 3 4 5
@_>3
1 2 3
Before
1
~02@p==10
或~02@_>10
或~02@i==10
01 02 03 04 05 06 07 08 09 10
表达式模式
注意:假设在 Before 中,每行都有一个选择范围已被选中。
Before
1 2 3 4 5
i|_+p
1 3 6 10 15
i|p+3 if i!= 0 else _!
27 24 21 18 15
Before
pointfloat ::= {integer}? \. \d+ | {integer} \. exponentfloat ::= (?:{integer} | {pointfloat}) [eE] [+-]? \d+ float ::= {pointfloat} | {exponentfloat} numeric ::= {integer} | {float} signednum ::= [+-]? {numeric}
|re.sub(r' +', ' ', _)
pointfloat ::= {integer}? \. \d+ | {integer} \. exponentfloat ::= (?:{integer} | {pointfloat}) [eE] [+-]? \d+ float ::= {pointfloat} | {exponentfloat} numeric ::= {integer} | {float} signednum ::= [+-]? {numeric}
以及更多...
贡献者
- James Brooks,Twitter: @jbrooksuk
- @FichteFoll,Twitter: @FichteFoll
- Marco Novaro,@MarcoNovaro
- Oleg Geier,Twitter: @relikd
- Arthur Comben,Twitter: @anthillape
- @logworthy