【发布时间】:2009-11-04 16:48:47
【问题描述】:
我怎样才能制作一个 shell 脚本来知道插入符号的位置并抓取选定的文本,以便我可以将文本包装在一些东西中?例如,这是来自 Textmate 包的脚本:
<${1:p}>$TM_SELECTED_TEXT</${1/\s.*//}>
它抓取文本并将其包装在打开/关闭 HTML 标记中。它是可变的,因此第二个标签在您键入第一个标签时会被镜像。
我想在 Textmate 之外制作这样的脚本,以便可以在 TextEXpander 中使用它。
这有意义吗? :)
【问题讨论】:
-
我认为你需要澄清你想要什么 - 我不明白,由于缺乏回应,其他人也没有。 TM_SELECTED_TEXT 是环境变量吗? ${1:p} (我将其解释为“如果给出参数 1,但如果没有给出则表示段落的“p”)来自哪里。 '${1/\s.*//}' 序列是什么意思?这可能有点奇怪,比如“取参数 1 并从中删除零个或多个空格的序列”,但为什么不在开始标签中呢?
-
啊,好吧,我很抱歉。它的工作原理是,sn-p 获取选定的文本,并用打开/关闭 HTML 标签包围它被镜像。因此,如果我突出显示 THIS 并激活,我最终会得到
THIS
并且可以改写第一个 'p' 以获得THIS或其他内容。那就是 ${1:p} 它说首先突出显示 p,然后将其镜像到最后一个。说得通?而且我认为变量是环境,我不知道。