我喜欢 TextMate 的想法,即在其中打开的任何目录都已经是一个项目。但有时我最好忽略某些目录中的文件,我不喜欢在该目录中创建项目文件或记住我如何在某个特殊文件夹(如 ~/.tmproject)中命名项目文件。是否有某种插件或类似的东西可以让我忽略目录中的文件?完美的解决方案是读取 .gitignore 文件。
答案1
如果您并不坚决反对将.tmproject
文件放在项目根目录下的想法,我认为这是一个保存它们的合理位置,特别是如果您将它们与.gitignore
用户的全局设置进行匹配。
也就是说,你可以通过 TextMate 的偏好设置忽略项目:查看高级 → 文件夹引用。它是一个由 |竖线| 分隔的长正则表达式模式,因此只需在其中添加您的正则表达式即可。
您无法从.gitignore
文件中获取 TM 忽略模式,因为那将是每个项目的设置(...存储在.tmproject
文件中:鸡与蛋的问题!)。
另一种解决方法是使用命令行mate
命令打开所需文件列表。类似下面的命令将只打开已签入 git 的文件:
mate `git ls-tree --name-only HEAD`
为了方便拖放,只需在其周围放一个 Applescript Automator 包装器即可。
答案2
受到上一个答案的启发,我开始使用以下命令:
mate `ls | grep -vx -f .gitignore`
这将打开一个 TextMate 窗口,该窗口将排除 .gitignore 文件中的所有内容。-v 选项指定反向匹配,-x 选项可防止部分匹配(“bonk”与“bonkbonk”不匹配)