如何在textmate片段中使用此路径?

时间:2011-08-25 08:46:19

标签: textmate code-snippets

我想要一个$ TM_PROJECT_DIRECTORY- $ TM_FILEPATH的字符串..... $TM_PROJECT_DIRECTORY

/Users/me/Desktop/project/application/app_name

$TM_FILEPATH/Users/me/Desktop/project/application/app_name/application/models/user_model.php

我想要的结果:

application/models/user_model.php

3 个答案:

答案 0 :(得分:1)

您无法在原始代码段语法中执行此操作,但您可以使用命令动态创建代码段。

所以,要做你想做的事你必须创建«新命令»,然后制作你想要的片段,例如,ruby:

#!/usr/bin/env ruby
print ENV['TM_FILEPATH'].gsub(/^#{ENV['TM_PROJECT_DIRECTORY']}\//,'')

然后在Input设置noneOutput设置Insert as Snippet

实际上,使用任何编程语言TextMate都可以理解,你可以动态创建很多强大的代码片段。

答案 1 :(得分:0)

${TM_FILEPATH/$TM_PROJECT_DIRECTORY\//}

有关详细信息,请参阅TextMate帮助中的第7.7节“片段/转换”。

答案 2 :(得分:0)

我自己就是这个问题。这是我使用的片段:

FILEPATH=${TM_FILEPATH/#$TM_PROJECT_DIRECTORY\//}
echo -n "$FILEPATH"

当Textmate插入代码段时,周围的反引号会执行shell代码。