shell脚本来抓取选定的文本并改变它?

发布于 2024-08-10 05:04:51 字数 293 浏览 4 评论 0原文

如何制作一个 shell 脚本来知道插入符在哪里并抓取选定的文本,以便我可以将文本包装在某些内容中?例如,这是来自 Textmate 包的脚本:

<${1:p}>$TM_SELECTED_TEXT</${1/\s.*//}>

它抓取文本并将其包装在打开/关闭 HTML 标记中。而且它是可变的,因此当您键入第一个标签时,第二个标签会被镜像。 我想制作一个像这样的脚本,但在 Textmate 之外,这样我就可以在 TextEXpander 中使用它。
这有道理吗? :)

How can I make a shell script that will know where the caret is and grab selected text, so I can wrap the text in something? For example, this is a script from a Textmate bundle:

<${1:p}>$TM_SELECTED_TEXT</${1/\s.*//}>

It grabs the text and wraps it in open/close HTML tags. And it is variable so the second tag is mirrored as you type the first.
I want to make a script like this but outside of Textmate so I can use it in TextEXpander.
Does this make sense ? :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

轮廓§ 2024-08-17 05:04:51

$TM_SELECTED_TEXT 不是提供给在 TextMate 外部运行的脚本的环境变量 - 它是由 TextMate 设置并提供给作为其一部分运行的脚本的变量。片段系统。它甚至没有提供给 Shell 捆绑包“运行脚本”命令。

您想要做的事情可能可以通过其他 shell 工具(例如,sed)来完成,因此功能可以通过 shell 脚本复制 - 这取决于您的使用场景。

$TM_SELECTED_TEXT is not an environment variable provided to scripts running outside of TextMate -- it is a variable that is set by TextMate and provided to scripts that are run as part of its snippet system. It is not even provided to the Shell bundles "Run Script" command.

What you want to do may be doable through other shell facilities (e.g., sed) so the functionality can be replicated by a shell script -- it depends on your usage scenario.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文