我想要一个$ 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
答案 0 :(得分:1)
您无法在原始代码段语法中执行此操作,但您可以使用命令动态创建代码段。
所以,要做你想做的事你必须创建«新命令»,然后制作你想要的片段,例如,ruby:
#!/usr/bin/env ruby
print ENV['TM_FILEPATH'].gsub(/^#{ENV['TM_PROJECT_DIRECTORY']}\//,'')
然后在Input
设置none
和Output
设置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代码。