占位符
动态占位符作为 超级文本片段
插件的核心功能点,如果占位符中含有 :
符号表示此占位符支持自定义参数, 下面会详细介绍每一种占位符的使用。
日期和时间
日期和时间
默认占位符:{isodate:YYYY-MM-DD HH:mm:ss}
,支持自定义格式,修改 :
后面的 ISO 8601 格式。
示例
占位符:{isodate:YYYY-MM-DD HH:mm:ss}
结果:2024-10-10 20:33:07
占位符: {isodate:YYYY-MM-DD}
结果:2024-10-10
占位符: {isodate:YYYY-MM}
结果:2024-10
占位符: {isodate:HH:mm}
结果:20:33
现在日期
默认占位符:{date}
,不支持自定义格式。
示例
占位符:{date}
结果:2024年10月10日
现在时间
默认占位符:{time}
,不支持自定义格式。
示例
占位符:{time}
结果:20:33:07
现在时间戳
默认占位符:{timestamp}
,UNIX 时间戳,10位数字,秒。
如果需要毫秒级时间戳,直接手动在后面补3个0,即:{timestamp}000
示例
占位符:{timestamp}
结果:1730872836
占位符:{timestamp}000
结果:1730872836000
时间偏移+1天
默认占位符:{timeoffset:add:1:day:YYYY-MM-DD}
,支持多个自定义参数操作。add:1
:表示加1天,同理 add:2
、add:3
...YYYY-MM-DD
:表示ISO 8601的时间格式,可以自定义。
示例
假设当前时间:2024-10-10
占位符:{timeoffset:add:1:day:YYYY-MM-DD}
结果:2024-10-11
占位符:{timeoffset:add:2:day:YYYY-MM-DD}
结果:2024-10-12
占位符:{timeoffset:add:5:day:YYYY-MM-DD HH:mm}
结果:2024-10-15 20:33
时间偏移-1天
默认占位符:{timeoffset:subtract:1:day:YYYY-MM-DD}
可以看到与上面 +1
天的占位符相比, 这里仅仅是将 add
改变为了 subtract
,也就是说:
add
:表示增加subtract
:表示减少
时间偏移+1月
默认占位符:{timeoffset:add:1:month:YYYY-MM-DD}
可以看到与上面 天
级别的加减,这里变化的是将 day
改变为了 month
,也就是说:
day
:表示天的增减month
:表示月的增减year
:表示年的增减
现在星期
默认占位符:{isodate:dddd}
,支持自定义格式.
本质上与 日期和时间
占位符相同, 这里为了方便使用, 单独提取出来.
示例
{isodate:d} // 0-6
{isodate:dd} // 日-六
{isodate:ddd} // 周日-周六
{isodate:dddd} // 星期日-星期六
可以看到 d
dd
ddd
dddd
分别表示不同的星期显示方式.
剪贴板
指的是对频繁利用剪贴板进行相关操作的占位符
文本内容
默认占位符:{clipboard}
,表示直接获取到的是当前剪贴板里面的文本内容。
转小写
默认占位符:{clipboard:lowercase}
,表示将剪贴板里面的内容转为小写后输出到光标位置。
此操作只是划词选中,必须鼠标选中一个变量 firstData
,然后呼出 uTools
输出关键字,会将页面上的 firstData
替换为 firstdata
转大写
默认占位符:{clipboard:uppercase}
,与 转小写
同理。
转驼峰
默认占位符:{clipboard:camelcase}
,与 转小写
同理,转换结果为首字母小写的驼峰,如:firstData
而不是 :FirstData
转大驼峰
默认占位符:{clipboard:camelcase:big}
,与 转驼峰
同理,转换结果为首字母大写的驼峰,如:FirstData
转下划线
默认占位符:{clipboard:snakecase}
,与 转小写
同理。
转大写下划线
默认占位符:{clipboard:snakecase:capital}
,与 转下划线
同理, 转换结果为全大写下划线,如:FIRST_DATA
转中横线
默认占位符:{clipboard:kebabcase}
,与 转小写
同理。
Foo Bar => 'foo-bar'
fooBar => 'foo-bar'
__FOO_BAR__ => 'foo-bar'
删除首尾空格
默认占位符:{clipboard:trim}
,将剪贴板内容,去掉首尾的空格符号后的结果。
示例
- 剪贴板内容:
Hello Word.
- 结果:
Hello Word.
删除首尾指定字符
默认占位符:{clipboard:trim:xxx}
,将 xxx
替换为你想要删除的字符,如:-
。
示例
剪贴板内容:l-o-p-o-
占位符:{clipboard:trim:-}
结果:l-o-p-o
剪贴板内容:-k-p-o-p-
占位符:{clipboard:trim:-}
结果:k-p-o-p
SQL格式化
默认占位符: {clipboard:sqlformat:mysql}
, 支持多个数据库类型, 如:
mysql
postgresql
sqlserver
oracle
sqlite
以上数据库类型均支持, 会根据不同的数据库类型的特殊规则进行格式化.
示例
select id, name from
users where age > 20 and status = 'active'
order by created_at limit 10
SELECT id,
name
FROM users
WHERE age > 20
AND status = 'active'
ORDER BY created_at
LIMIT 10
数字转常规
默认占位符:{clipboard:number}
,将剪贴板中类似 16,2739.01
的数字转为 number
类型。
示例
剪贴板内容:16,2739.01
结果:162739.01
文件路径
默认占位符:{clipboard:file:0}
,复制一个文件将会得到完整路径结果,因为可以复制多个文件,这里 0
表示的是取第一个文件的完整路径,可以自定义。
转wsl文件路径
默认占位符:{clipboard:wslfile:0}
,复制要转换的文件后,呼出uTools输入关键字即可自动粘贴对应的wsl文件路径(此功能仅Windows系统可用)
curl域名转换
默认占位符:{clipboard:curl:http://localhost}
,将剪贴板内的 curl
命令中的域名转换为 localhost
,支持自定义域名。
示例
设置占位符为:{clipboard:curl:https://baidu.com}
# 原始
curl -X POST https://api.example.com/v1/data -d '{"key": "value"}'
# 结果
curl -X POST https://baidu.com/v1/data -d '{"key": "value"}'
json转yaml
默认占位符:{clipboard:json2yaml}
,将剪贴板内的 json
格式字符串转换为 yaml
格式字符串。
{
"name": "test",
"age": 18,
"skills": ["js", "python"],
"info": {
"city": "beijing",
"hobby": ["game", "music"]
},
"description": "multiple\\nline\\ntext"
}
name: test
age: 18
skills:
- js
- python
info:
city: beijing
hobby:
- game
- music
description: |
multiple
line
text
yaml转json
默认占位符:{clipboard:yaml2json}
,将剪贴板内的 yaml
格式字符串转换为 json
格式字符串。
prop转yaml
默认占位符:{clipboard:properties2yml}
,将剪贴板内的 properties
格式字符串转换为 yaml
格式字符串。
yaml转prop
默认占位符:{clipboard:yml2properties}
,将剪贴板内的 yaml
格式字符串转换为 properties
格式字符串。
server:
port: 8080
spring:
application:
name: myapp
datasource:
url: jdbc:mysql://localhost:3306/db
username: root
password: 123456
logging:
level:
root: INFO
app:
features:
- feature1
- feature2
config:
timeout: 30
retries: 3
server.port=8080
spring.application.name=myapp
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=123456
logging.level.root=INFO
app.features[0]=feature1
app.features[1]=feature2
app.config.timeout=30
app.config.retries=3
cookie转json
默认占位符:{clipboard:cookie2json}
,将剪贴板内的 cookie
格式字符串转换为 json
格式字符串。
示例
复制下面文本,然后使用占位符
name=John%20Doe; age=25; city=New%20York
[
{
"key": "name",
"value": "John Doe"
},
{
"key": "age",
"value": "25"
},
{
"key": "city",
"value": "New York"
}
]
json转cookie
默认占位符:{clipboard:json2cookie}
,将剪贴板内的 json
格式字符串转换为 cookie
格式字符串。
示例
复制下面文本,然后使用占位符
[
{
"key": "name",
"value": "John Doe"
},
{
"key": "age",
"value": "25"
},
{
"key": "city",
"value": "New York"
}
]
name=John%20Doe; age=25; city=New%20York
替换指定字符
默认占位符: {clipboard:replace:old:new:0}
, 支持自定义参数, 如:
old
: 要替换的字符new
: 替换后的字符0
: 表示全局替换, 如果不为0表示要替换的次数i
: 表示忽略大小写, 如果有此参数, 则表示忽略大小写
示例
# 区分大小写
剪贴板内容:Hello HELLO hello
占位符: {clipboard:replace:hello:hi:0}
结果: Hello HELLO hi
# 不区分大小写
剪贴板内容:Hello HELLO hello
占位符: {clipboard:replace:hello:hi:0:i}
结果: hi hi hi
# 路径替换(区分大小写)
剪贴板内容:C:\Users\Desktop\TEST\test.txt
占位符: {clipboard:replace:\:/:0}
结果: C:/Users/Desktop/TEST/test.txt
# 指定次数且不区分大小写
剪贴板内容: Test TEST test TEST test
占位符: {clipboard:replace:test:demo:2:i}
结果: demo demo test TEST test
随机数
UUID
默认占位符:{uuid}
,示例:9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
随机数
默认占位符:{random:1..10}
,支持自定义范围
示例
占位符:{random:1..10}
结果:6
占位符:{random:1..100}
结果:56
随机密码
默认占位符:{password:16},支持自定义位数。
示例
占位符:{password:16}
结果:Jq5riKApHYGQTFmQ
划词选中
此功能是对 剪贴板
的进一步增强,使其更具有便捷性。
当前选中文本
默认占位符:{selection}
, 表示当前选中的文本内容。
转小写
默认占位符:{selection:lowercase}
, 将选中的文本转为小写。
转大写
默认占位符:{selection:uppercase}
, 将选中的文本转为大写。
转驼峰
默认占位符:{selection:camelcase}
, 将选中的文本转为驼峰, 首字母小写。
转大驼峰
默认占位符:{selection:camelcase:big}
, 将选中的文本转为大驼峰, 首字母大写。
转下划线
默认占位符:{selection:snakecase}
, 将选中的文本转为下划线。
转大写下划线
默认占位符:{selection:snakecase:capital}
, 将选中的文本转为大写下划线。
转中横线
默认占位符:{selection:kebabcase}
, 将选中的文本转中横线。
Foo Bar => 'foo-bar'
fooBar => 'foo-bar'
__FOO_BAR__ => 'foo-bar'
SQL格式化
默认占位符: {selection:sqlformat:mysql}
, 支持多个数据库类型, 如:
mysql
postgresql
sqlserver
oracle
sqlite
以上数据库类型均支持, 会根据不同的数据库类型的特殊规则进行格式化.
示例
select id, name from
users where age > 20 and status = 'active'
order by created_at limit 10
SELECT id,
name
FROM users
WHERE age > 20
AND status = 'active'
ORDER BY created_at
LIMIT 10
公式计算
WARNING
旧版占位符: {selection:calculate}
将在后续版本逐步废弃, 请及时替换.
默认占位符:{selection:calculates:2}
,支持对选中的文本进行公式计算.
其中 2
表示保留小数点后2位 (仅结果为小数情况下)。
示例
选中文本: 1+2*3/3-1
占位符:{selection:calculates:2}
结果:2 // 结果将直接替换掉公式
选中文本: 1*3.1415926
占位符:{selection:calculates:3}
结果:3.141 // 结果将直接替换掉公式
AI能力
TIP
AI能力相关占位符因为要请求第三方API, 所以优先级最高.
也就是说只要文本片段中出现 AI能力
相关占位符, 那么此占位符最先执行.
为获得最佳使用体验,请开启 uTools
的通知功能,这样您可以及时接收AI任务的完成提醒。
使用AI功能时,通常需要在 任意编辑器
中先 选中文本
,再唤起 uTools
搜索框进行操作。为提升使用便捷性,您也可以将常用关键词添加至超级面板。
如操作过程中出现鼠标焦点丢失的情况,只需重新选中文本并唤起 uTools
搜索框即可继续使用。
文本续写
默认占位符:{ai:writings:150}
,对选中的文本进行续写,支持自定义长度, 150
表示续写的长度。 AI 任务完成后, 依旧可以跟随其他占位符来衔接后续操作, 如:
{ai:writings:150}{enter}
文本润色
默认占位符:{ai:polish}
,对选中的文本进行润色并直接覆盖原始文本。 AI 任务完成后, 依旧可以跟随其他占位符来衔接后续操作, 如:
{ai:polish}{tab}
文本翻译
默认占位符:{ai:translate:en}
,对选中的文本进行翻译,支持自定义目标语言,en
表示目标语言为英文。
支持的语种映射:
{
'en': '英语',
'zh': '中文',
'zh-CN': '中文',
'ja': '日语',
'ko': '韓语',
'fr': '法语',
'de': '德语',
'es': '西班牙语',
'pt': '葡萄牙语',
'it': '意大利语',
'ru': '俄语',
'ar': '阿拉伯语',
}
目前仅针对中文进行了测试, 后面看看反馈再决定是否开放此 prompt 自定义功能.
终端命令提示
默认占位符:{ai:terminal:linux}
,通过自然语言生成终端命令,支持自定义操作系统,linux
表示目标操作系统为 Linux。
系统类型可选值:
linux
macos
windows
正则生成
默认占位符:{ai:regex}
,选中原始文本, 然后通过自然语言生成正则表达式。
示例
选中文本:[email protected]
输入需求:匹配电子邮箱地址
结果:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
文本摘要
默认占位符:{ai:summary:50}
,选中要生成摘要的长文本, 然后通过自然语言生成文本摘要,支持自定义长度, 50
表示摘要的长度。
示例
选中文本:人工智能正在深刻改变我们的生活方式。从智能手机助手到自动驾驶汽车,从智能家居到医疗诊断,AI技术的应用已经渗透到各个领域。尽管AI带来了巨大便利,但也引发了一些关于隐私、就业和伦理的担忧。专家认为,在享受AI带来便利的同时,我们也需要思考如何正确引导AI的发展方向。
占位符: {ai:summary:20}
结果:AI技术广泛应用于生活各领域,带来便利同时也引发担忧,需要正确引导其发展。
标题生成
注意
后置动作
必须设置为 保留剪贴板内容(方便手动粘贴)
选项, 否则不可用.
默认占位符:{ai:title}
,选中要生成标题的长文本, 然后通过自然语言生成标题.
标题生成完毕后, 会写入到剪贴板中, 用户自行选择在合适的位置进行粘贴.
中文转拼音
默认占位符:{ai:pinyin}
,选中要转换的中文文本, 然后通过自然语言生成拼音.
示例
原文:你好,世界!
输出:ni3 hao3 shi4 jie4
语法检查分析
默认占位符:{ai:grammar}
,选中要检查的文本, 然后通过自然语言生成语法检查分析结果.
语法标记规则:
主语:<S>内容</S>
谓语:<V>内容</V>
宾语:<O>内容</O>
定语:<ATT>内容</ATT>
状语:<ADV>内容</ADV>
补语:<COMP>内容</COMP>
中心语:<HW>内容</HW>
示例
原文:小明正在看书。
结果:<S>小明</S><ADV>正在</ADV><V>看</V><O>书</O>。
SQL优化
默认占位符:{ai:sql:optimize}
,选中要优化的 SQL 语句, 然后通过自然语言生成 SQL 优化结果.
示例
# 选中文本
SELECT * FROM users WHERE name LIKE '%John%' ORDER BY created_at DESC;
# 结果
SELECT id, name, created_at
FROM users
FORCE INDEX (idx_name_created_at)
WHERE name LIKE '%John%'
ORDER BY created_at DESC;
SQL修复
默认占位符:{ai:sql:fix}
,选中要修复的 SQL 语句, 然后通过自然语言生成 SQL 修复结果.
示例
# 选中文本
SELECT * FROM users WHERE name LIKE '%John% ORDER BY created_at DESC
# 结果
SELECT * FROM users WHERE name LIKE '%John%' ORDER BY created_at DESC;
生成思维导图
默认占位符:{ai:mindmap}
,选中要生成思维导图的文本, 然后通过自然语言生成思维导图, 生成完毕后会弹出新窗口来展示导图.
TIP
- 此功能较为依赖AI模型能力, 请尽可能的使用高级模型, 以获得更好的体验.
- 生成思维导图的速度取决于文本长度和模型的性能, 建议您开启
uTools
软件的通知功能, 以便及时接收任务完成的提醒.
示例
选中下面文本,然后使用占位符即可看到对应结果.
人工智能(AI)正在深刻改变我们的生活方式。它是一门研究如何使计算机模拟人类智能活动的科学,目标是开发能够像人类一样思考和学习的系统。
现代AI技术主要包括机器学习、深度学习、自然语言处理等方向。机器学习使计算机能够从数据中学习经验并改进性能,而不需要明确编程。
深度学习是机器学习的一个分支,通过多层神经网络处理复杂问题。自然语言处理则让计算机能够理解和生成人类语言。 AI应用已经遍布各个领域。
在医疗领域,AI辅助诊断提高了准确率;在金融领域,AI用于风险评估和市场预测;在教育领域,AI提供个性化学习体验;在日常生活中,智能助手、自动驾驶、推荐系统等都离不开AI技术。
尽管AI发展迅速,但也面临着一些挑战,包括数据隐私、算法偏见、伦理道德等问题需要解决。未来,AI将继续发展,但需要在技术创新和负责任使用之间取得平衡。
生成理由支持
默认占位符:{ai:generate:reasons}
,选中要生成理由支持的文本, 然后通过自然语言生成理由支持.
示例
我们应该尽快推进新能源政策。
理由支持:
1. 加快新能源政策推动将显著减少温室气体排放,有助于应对全球气候变化。
2. 新能源技术的发展能够创造大量就业机会,促进经济增长和社会稳定。
3. 推进新能源政策将增强国家能源安全,降低对化石燃料的依赖,提升能源自主性。
4. 投资新能源基础设施将推动技术创新,提高国家的国际竞争力和产业链水平。
邮件语气调整
默认占位符:{ai:email:友好:中文}
,选中要调整语气的文本, 然后通过自然语言生成邮件语气调整, 支持自定义语气和语言.
语气: 正式
委婉
友好
简洁
热情
专业
等.
语言: 中文
英文
日文
等.
示例 1:
原文: 请您尽快完成这个任务,项目时间已经很紧了。
语气: 友好
语言: 中文
亲爱的[收件人]:
您好!希望您一切顺利!关于这个任务,项目时间确实有些紧张。如果您能抽空尽快完成,我们将非常感激您的帮助!非常感谢!
祝您工作愉快!
示例 2:
原文: 你好,我希望您尽快处理这个问题,因为这已经影响到我们的工作流程了。
语气: 正式
语言: 英文
Dear Sir/Madam,
I hope this email finds you well. I would like to bring to your attention an issue that has been affecting our workflow. I kindly request your prompt assistance in addressing this matter at your earliest convenience.
Thank you for your support.
Best regards,
聊天语气调整
默认占位符:{ai:livechat:友好:中文}
,选中要调整语气的文本, 然后通过自然语言生成结果, 支持自定义语气和语言.
用于在聊天场景中调整语气, 如: 微信
飞书
钉钉
等.
语气: 正式
委婉
友好
简洁
热情
专业
等.
语言: 中文
英文
日文
等.
1. 工作催促(正式语气)
这个事情已经拖了好几天了,今天一定要完成。
这件事情已经有点久了,麻烦您今天务必完成,谢谢!
2.任务请求(友好语气)
把方案发我。
Hi, could you please send me the proposal? Thanks a lot!
3.问题沟通(委婉语气)
代码有问题,重新改一下。
你好,代码好像有点问题,可以麻烦你再改一下吗?谢谢!
其他
光标位置
默认占位符:{cursor}
,使用此占位符后,当粘贴文本到指定页面上之后,会自动移动光标到指定位置, 注意:每个片段只能出现一次此占位符
输入单个参数
默认占位符:{input:content}
,支持将输入的内容直接插入到文本片段中.
输入多个参数
WARNING
必须两个参数以上才可使用多参数占位符, 只使用一个参数请使用单参数占位符, 否则会出现异常。
默认占位符:{input:content:1}
,支持输入多个参数,参数分割符号可在 设置
页面配置,默认是 ,
分隔。
示例
这是第一个参数:{input:content:1}
这里是第二个参数:{input:content:2}
{input:content:1}
{input:content:2}
允许在多个位置重复使用。
内网ip
默认占位符:{ip:0}
,在多个网卡的环境中支持指定哪一个网卡,如 {ip:1}
,表示第二个网卡。
回车键
默认占位符:{enter}
可以模拟回车按键。
在文本片段中穿插此占位符,会自动按下回车键,按键按下延迟可在 全局配置
中 按下回车键延迟
进行调整。
Tab 键
默认占位符:{tab}
可以模拟 Tab 按键。
在文本片段中穿插此占位符,会自动按下 Tab 键, 按键按下延迟可在 全局配置
中 按下回车键延迟
进行调整。
当前目录位置
WARNING
此功能仅支持 Windows
和 MacOS
系统.
默认占位符:{finder:pwd}
,可以获取当前当前文件管理器窗口路径。
结合 粘贴方式
和 后置动作
能实现一些特殊的功能,如:在当前目录打开终端。
组合键
温馨提示
MacOS 用户注意要使用 command
键替换 ctrl
键,如:{keyCombination:command+a}
默认占位符:{keyCombination:ctrl+a}
可以模拟任意组合键。
示例
占位符:{keyCombination:ctrl+a} // 模拟按下 ctrl+a 组合键
占位符:{keyCombination:ctrl+alt+a} // 模拟按下 ctrl+alt+a 组合键
占位符:{keyCombination:ctrl+shift+a} // 模拟按下 ctrl+shift+a 组合键
占位符:{keyCombination:enter} // 模拟按下回车键
占位符:{keyCombination:tab} // 模拟按下 Tab 键
占位符:{keyCombination:ctrl+c} // 模拟按下 ctrl+c 组合键
...
延时等待
默认占位符:{sleep:3}
, 支持参数设置,:3
表示延时 3 秒之后继续粘贴后面内容或者执行后续操作。
打开网址
WARNING
浏览器打开指定网址后会使编辑器失去焦点,在组合使用多个占位符场景下,这会影响后续占位符的正常执行。
默认占位符:{open:url:https://baidu.com}
,这将会使用默认浏览器自动打开指定的网址。
通过在 Obsidian
等本地编辑器中配置 URL 协议,用户可以实现使用 uTools
快速定位和打开特定笔记,从而显著提升笔记检索和访问的效率。这种无缝衔接的操作方式将笔记管理变得更加便捷和智能。
示例
占位符:{open:url:obsidian://open?vault=your_vault&file=your_note}