Skip to content

占位符

动态占位符作为 超级文本片段 插件的核心功能点,如果占位符中含有 : 符号表示此占位符支持自定义参数, 下面会详细介绍每一种占位符的使用。

日期和时间

日期和时间

默认占位符:{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:2add: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

以上数据库类型均支持, 会根据不同的数据库类型的特殊规则进行格式化.

示例

sql
select id, name from 
users where age > 20 and status = 'active' 
order by created_at limit 10
sql
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
# 原始
curl -X POST https://api.example.com/v1/data -d '{"key": "value"}'
curl
# 结果
curl -X POST https://baidu.com/v1/data -d '{"key": "value"}'

json转yaml

默认占位符:{clipboard:json2yaml},将剪贴板内的 json 格式字符串转换为 yaml 格式字符串。

json
{
  "name": "test",
  "age": 18,
  "skills": ["js", "python"],
  "info": {
    "city": "beijing",
    "hobby": ["game", "music"]
  },
  "description": "multiple\\nline\\ntext"
}
yaml
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 格式字符串。

yaml
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 格式字符串。

示例
复制下面文本,然后使用占位符

markdown
name=John%20Doe; age=25; city=New%20York
json
[
  {
    "key": "name",
    "value": "John Doe"
  },
  {
    "key": "age",
    "value": "25"
  },
  {
    "key": "city",
    "value": "New York"
  }
]

json转cookie

默认占位符:{clipboard:json2cookie},将剪贴板内的 json 格式字符串转换为 cookie 格式字符串。

示例
复制下面文本,然后使用占位符

json
[
  {
    "key": "name",
    "value": "John Doe"
  },
  {
    "key": "age",
    "value": "25"
  },
  {
    "key": "city",
    "value": "New York"
  }
]
markdown
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

以上数据库类型均支持, 会根据不同的数据库类型的特殊规则进行格式化.

示例

sql
select id, name from 
users where age > 20 and status = 'active' 
order by created_at limit 10
sql
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 表示续写的长度。 2F5gRedHWGDhph8z.gif AI 任务完成后, 依旧可以跟随其他占位符来衔接后续操作, 如:{ai:writings:150}{enter}

文本润色

默认占位符:{ai:polish},对选中的文本进行润色并直接覆盖原始文本。 qwyD6YX7c5RVu3ms.gif AI 任务完成后, 依旧可以跟随其他占位符来衔接后续操作, 如:{ai:polish}{tab}

文本翻译

默认占位符:{ai:translate:en},对选中的文本进行翻译,支持自定义目标语言,en 表示目标语言为英文。

支持的语种映射:

json
{
    'en': '英语',
    'zh': '中文',
    'zh-CN': '中文',
    'ja': '日语',
    'ko': '韓语',
    'fr': '法语',
    'de': '德语',
    'es': '西班牙语',
    'pt': '葡萄牙语',
    'it': '意大利语',
    'ru': '俄语',
    'ar': '阿拉伯语',
}

mJHsPQ52zfELE7MK.gif
目前仅针对中文进行了测试, 后面看看反馈再决定是否开放此 prompt 自定义功能.

终端命令提示

默认占位符:{ai:terminal:linux},通过自然语言生成终端命令,支持自定义操作系统,linux 表示目标操作系统为 Linux。

系统类型可选值:

  • linux
  • macos
  • windows

VtcA4kBKysBWHex5.gif

正则生成

默认占位符:{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 优化结果.

示例

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 修复结果.

示例

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 软件的通知功能, 以便及时接收任务完成的提醒.

示例
选中下面文本,然后使用占位符即可看到对应结果.

markdown
人工智能(AI)正在深刻改变我们的生活方式。它是一门研究如何使计算机模拟人类智能活动的科学,目标是开发能够像人类一样思考和学习的系统。 
现代AI技术主要包括机器学习、深度学习、自然语言处理等方向。机器学习使计算机能够从数据中学习经验并改进性能,而不需要明确编程。
深度学习是机器学习的一个分支,通过多层神经网络处理复杂问题。自然语言处理则让计算机能够理解和生成人类语言。 AI应用已经遍布各个领域。
在医疗领域,AI辅助诊断提高了准确率;在金融领域,AI用于风险评估和市场预测;在教育领域,AI提供个性化学习体验;在日常生活中,智能助手、自动驾驶、推荐系统等都离不开AI技术。 
尽管AI发展迅速,但也面临着一些挑战,包括数据隐私、算法偏见、伦理道德等问题需要解决。未来,AI将继续发展,但需要在技术创新和负责任使用之间取得平衡。

DJ8X8bGFEqamRZW9.png

生成理由支持

默认占位符:{ai:generate:reasons},选中要生成理由支持的文本, 然后通过自然语言生成理由支持.

示例

markdown
我们应该尽快推进新能源政策。
markdown
理由支持:  
1. 加快新能源政策推动将显著减少温室气体排放,有助于应对全球气候变化。  
2. 新能源技术的发展能够创造大量就业机会,促进经济增长和社会稳定。  
3. 推进新能源政策将增强国家能源安全,降低对化石燃料的依赖,提升能源自主性。  
4. 投资新能源基础设施将推动技术创新,提高国家的国际竞争力和产业链水平。

邮件语气调整

默认占位符:{ai:email:友好:中文},选中要调整语气的文本, 然后通过自然语言生成邮件语气调整, 支持自定义语气和语言.

语气: 正式 委婉 友好 简洁 热情 专业 等.
语言: 中文 英文 日文 等.

示例 1:

markdown
原文: 请您尽快完成这个任务,项目时间已经很紧了。
语气: 友好
语言: 中文
markdown
亲爱的[收件人]:  

您好!希望您一切顺利!关于这个任务,项目时间确实有些紧张。如果您能抽空尽快完成,我们将非常感激您的帮助!非常感谢!  

祝您工作愉快!

示例 2:

markdown
原文: 你好,我希望您尽快处理这个问题,因为这已经影响到我们的工作流程了。
语气: 正式
语言: 英文
markdown
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. 工作催促(正式语气)

markdown
这个事情已经拖了好几天了,今天一定要完成。
markdown
这件事情已经有点久了,麻烦您今天务必完成,谢谢!

2.任务请求(友好语气)

markdown
把方案发我。
markdown
Hi, could you please send me the proposal? Thanks a lot!

3.问题沟通(委婉语气)

markdown
代码有问题,重新改一下。
markdown
你好,代码好像有点问题,可以麻烦你再改一下吗?谢谢!

其他

光标位置

默认占位符:{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

此功能仅支持 WindowsMacOS 系统.

默认占位符:{finder:pwd},可以获取当前当前文件管理器窗口路径。
结合 粘贴方式后置动作 能实现一些特殊的功能,如:在当前目录打开终端。 nqnQZ5rGJY9hE5Ps.png

组合键

温馨提示

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}