插件市场搜索:超级文本片段 安装即可!
本文中有大量动态图片演示,但可能加载需要一些时间,请等待片刻。。。

每天我们都要用在电脑上进行很多文字的输入,包括邮件、写作、代码等等。在输入文字的过程中,往往有很多内容是需要经常重复输入的,比如一些常用Shell命令、重复的代码片段等等。每次遇到要输入这些内容的时候,都需要重复输入相同的文本,不免有些浪费时间。
超级文本片段 的文字片段和自动扩展功能就是为完美解决这个问题而设计的,让你仅仅只需输入某几个设定好的特定字符,就能扩展出完整的、冗长的常用字符串。

如果您曾在 Mac 平台上使用过 Alfred 中的 Snippets 功能,那么您会发现这个插件的用法与其非常相似。借助 uTools 的跨平台特性,现在可以在 Windows 和 Linux 上使用这个功能了。
屏幕录制2023-10-15 20.42.12.gif

超级文本片段中还支持对每个 Snippet 进行分类,插入动态占位符(如时间日期、剪贴板)等等,并且基于 uTools 会员的同步功能可以很方便的跨设备享用。
v1.0.7 版本开始已支持全量导入导出功能,未开通 uTools 会员的同学也可以进行手动的数据同步操作了

文本片段的创建

呼出 uTools 输入 超级文本片段 或者 自动上屏 关键字即可进入设置界面,可以看到下方分为左右两个区域,左边为文本片段的分组,右边为每个分组下的具体文字片段内容。
Xnip2023-10-15_20-56-03.png

每个文字片段都要属于某一个分组,因此如果左边还没有建立分组的话,可以点击左侧面板下方的“+”按钮进行添加即可。
分组创建成功之后,就可以在这个分组之下添加文本片段内容了。点击右侧区域右下角的“+”进行条目的添加:
Xnip2023-10-30_09-49-39.png

  • 名称: 当前片段名称
  • 关键字:文本片段的关键字,这个关键字全局唯一如果有重复,将会提示其更改关键字
  • 文本片段:需要进行对其进行扩展的完整文本内容
    后续就可以在任意地方输入关键字内容,就能扩展出文本片段中定义的文本内容。

对文本片段关键字的建议

如前所述,只要定义好了文本片段条目,则在任何文本输入的地方输入关键字,就能自动展开相应的文本片段。
但是关键字的定义最好也遵循一定的规则,要容易记忆、方便输入。以下是关于怎样定义关键字的几个建议:

  1. 在关键字中不要使用正常词汇,以避免有些不期望的展开。最好能用一些特殊记法,比如将关键字每个单词的首字母捡出来连在一起等等;
  2. 使用双重字母,比如“ttime”。
  3. 如果您不是程序员行业,那么简短的中文也许是您目前最合适的关键词定义方式,并且借助于 uTools 的特性,您设置中文的关键词后,输入拼音也是可以匹配到的哦~

如果您想对其中某一个分组或者文本片段进行修改,只需双击对应的条目即可。

动态占位符

什么是动态占位符

很多时候,你想在文本中插入一些特定的内容,但这些内容在每一次输入的时候都会有所不同,比如日期、时间、剪切板中的文本等等。
使用动态占位符,就能在输入文本片段内容的时候,扩展出的文字根据具体的情况而变化。只需在编辑文本片段的时候,将相应的关键字放在{}内,比如{date},{time},{clipboard}。则当输入Snippets的时候,{}中的内容会自动转变为相应的动态内容,比如日期、时间、剪切板文本。
Xnip2023-10-16_16-52-30.png

Xnip2023-10-15_21-16-26.png

时间和日期

显示时间和日期的占位符有以下几个:

  • 当前日期和时间:{datetime}
  • 当前日期:{date}
  • 当前时间:{time}
  • 当前时间戳:{timestamp}
  • 自定义时间格式:{isodate:YYYY-MM-DD HH:mm:ss} (这里可以修改:后面的内容来做到自定义格式)
    1. 2023年10月15日 22:30:02
    2. 2023年10月15日
    3. 22:30:02
    4. 2023-10-15- 22:30:02

剪贴板内容

会获取当前剪贴板的内容插入到文本片段中,当然还可以加上一些转换命令,对剪切板中的文本进行格式转换:

  • {clipboard:uppercase}:将剪贴板文本全部转换为大写;
  • {clipboard:lowercase}:将剪贴板文本全部转换为小写;

光标位置

v1.0.2版本开始支持

利用{cursor}占位符,可以在输入文本扩展为对应文字后,光标自动定位到{cursor}在文本中的位置,方便之后对某些内容的输入。比如新建以下文本片段:
Xnip2023-10-15_21-27-04.png

当呼出uTools上键入tflip1 关键字后,Automatic snippets中的文本会自动粘贴到屏幕上,之后光标位置会自动定位到{cursor}所在的位置,方便信息的输入,省去了还要再次操作鼠标进行光标定位的麻烦。

划词选中

v1.0.3版本开始支持

划词选中的占位符共有以下几个:

  • 当前选中:{selection}
  • 当前选中转小写:{selection:lowercase}
  • 当前选中转大写:{selection:uppercase}
  • 当前选中转驼峰:{selection:camelcase}
  • 当前选中转下划线:{selection:snakecase}

屏幕录制2023-10-16 16.47.39.gif
当鼠标选中要更改的词后,呼出uTools键入-dx关键字,Automatic snippets会自动将选中的词更改为大写。

手动输入文本内容

v1.0.4版本开始支持

当文本片段中配置了手动输入内容动态占位符后,那么在打开此关键字后会允许在后面继续输入任意文本内容,简单演示如下:
屏幕录制2023-10-19 22.20.09.gif

获取内网ip

v1.0.7版本开始支持

内网ip动态占位符同时还支持多网卡,例如{ip:0}表示第一个网卡,{ip:1}表示第二个网,以此类推。。。
具体网卡位置可能有所改变,实际情况请自行调试

时间偏移占位符

基于dayjs库实现,支持天(day)、月(month)、年(year)、时(hour)等等
时间格式为 ISO 8601 格式的字符串

示例

时间+1天:{timeoffset:add:1:day:YYYY-MM-DD}
时间+2天:{timeoffset:add:2:day:YYYY-MM-DD}
时间-10天:{timeoffset:subtract:10:day:YYYY-MM-DD}
时间-1月:{timeoffset:subtract:1:month:YYYY-MM-DD}
时间+1月,自定义格式:{timeoffset:add:1:month:YYYY-MM-DD HH:mm:ss}

结果

时间+1天:2024-02-23
时间+2天:2024-02-24
时间-10天:2024-03-03
时间-1月:2024-03-22
时间+1月,自定义格式:2024-03-22 08:55:13

一些场景演示

  1. 快速创建vue2模板代码:
    屏幕录制2023-10-15 21.32.00.gif

  2. 利用剪贴板占位符的场景:
    获取剪贴板内容:
    1697377064425-屏幕录制2023-10-15 21.34.58.gif

剪贴板内容转驼峰:
屏幕录制2023-10-15 21.44.03.gif

  1. shell的命令场景
    屏幕录制2023-10-15 21.35.33.gif

  2. 光标位置场景
    屏幕录制2023-10-15 21.42.26.gif

  3. 划词选中场景
    屏幕录制2023-10-16 16.47.39.gif

  4. 手动输入内容场景
    屏幕录制2023-10-19 22.21.05.gif

结语

相信经过上面的简单介绍,您已经能熟练的创建属于自己的Snippets 希望此插件能给您带来效率上的提升。
如果您有更好的建议可以直接在插件评论区留言。

  • dto 觉得很赞

分享几个自用的文本片段

SSH快速连接命令

  • 关键字:ssh
  • 文本片段:
    ssh root@{clipboard}

Python38虚拟环境

  • 关键字:py38
  • 文本片段:
    conda activate py38

实时查看显卡状态

  • 关键字:显卡
  • 文本片段:
    watch -n 0.1 nvidia-smi

根据启动文件名称结束进程

  • 关键字:kill
  • 文本片段:
    ps -ef | grep {clipboard:trim} | grep -v grep | awk '{print $2}' | xargs kill -9

    查询指定文件中的指定内容

  • 关键字:find
  • 文本片段:
    grep -i '{cursor}' {clipboard:trim}

快速进入docker中

  • 关键字:dexec
  • 文本片段:
    docker exec -it {clipboard} bash

查看容器的ip信息

  • 关键字:dip
  • 文本片段:
    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' {clipboard}

查看容器详情信息

  • 关键字:din
  • 文本片段:
    docker inspect {clipboard}

获取所有docker名称及ip

  • 关键字:dall
  • 文本片段:
    docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

查看git提交日志

  • 关键字:gitlog
  • 文本片段:
    git log --pretty=format:"%h - %an, %ar : %s"

追加pip换源命令

  • 关键字:pip
  • 文本片段:
    -i https://pypi.tuna.tsinghua.edu.cn/simple

2322135716 能详细说说场景吗?我不是很理解,如果可以的话请举个文本片段例子

    个人建议。
    1.添加的表单容易误触,然后消失。
    2.有没有更好的处理方式,比如是粘贴到搜索框然后替换内容。有的写出来再去复制一下,显得很多余。举个例子
    lsof -i:8080, 能不能再搜索框输入 [8080 lsof] 然后就能找到对应的命令并填充呢

    郑三岁 我注意到第一个确实是个问题,会再优化的。
    关于 有的写出来再去复制一下,显得很多余 这个后面大概率会通过增加一个动态占位符来解决。v1.0.3版本已通过划词选中动态占位符的形式解决。

    v1.0.4版本已支持关键字后手动追加文本内容

      v1.0.3版本是还在审核嘛,如果能自定义占位符应该会更灵活吧

      低調cn 嗯还在审核中,占位符还需要一些逻辑的,如果支持自定义那就复杂了,也许快捷指令,一步到位等插件会更加合适的

        wslmf 将标题更改为 「Automatic snippets - 文字片段自动上屏」。

          小猪猪win11上我没有复现此问题,会提示弹出一个提示,然后点击仍然粘贴就可以。
          如果你那边的情况跟我不同,方便的话到插件的评论区反馈。

            能分享一下 划词选中 的代码思路嘛
            我尝试在进入插件后执行 utools.simulateKeyboardTap("c", "ctrl"); 复制选中文本,但是不生效

            gyllz
            肯定是不会生效的。本质上是文本然后替换的。你要代码这种的得在一步到位或者快捷命令中写

              gyllz 那很奇怪,你的思路是对的,我也是这么实现的。
              另外,你可以尝试下延迟几十毫秒再执行快捷键操作,
              还有就是需要注意下macWindows不同,是command + c 所以需要判断下当前系统

              wslmf 可以了感谢,发现一个坑,通过utools点击可以生效,快捷键触发就复制不了

              gyllz 快捷键触发也是可以的吧,我有个谷歌翻译插件,里面的划词翻译就是绑定关键字定义的全局快捷键触发的。

                5 个月 后

                希望能修复一下暗色模式下的字体颜色 都看不清写了什么

                目前添加的时候 后置动作 总是默认还原内容 我希望能记住上一次的动作 比如我习惯仅复制文本片段

                我要添加几十条记录 每添加一次 就要选择一次 非常低效

                或者是把这三个选项 移动到列表页里 方便批量修改

                  闽ICP备18007474号