【发布时间】:2012-07-23 01:57:04
【问题描述】:
在 TextMate v1 中,有一个选项可以保存丢失的焦点。也就是说,当您切换到另一个应用程序时,您的 TextMate 文档会保存。如何在 TextMate 2 中重新创建这种行为?
【问题讨论】:
在 TextMate v1 中,有一个选项可以保存丢失的焦点。也就是说,当您切换到另一个应用程序时,您的 TextMate 文档会保存。如何在 TextMate 2 中重新创建这种行为?
【问题讨论】:
从 alpha.9495 开始,执行此操作的方式已更改。来自Save-On-Focus-Lost repo 的自述文件:
您现在可以在 .tm_properties 中设置 saveOnBlur 以使 TextMate 在失去焦点时保存文件。
...使用 .tm_properties 还可以轻松定位特定文件类型,例如可以使用:
[ ui/**.php ] saveOnBlur = true这将只有 .php 文件在 ui 文件夹中,当焦点丢失时自动保存。
这也很不错,因为它可以将其设置为项目特定的设置。
但如果您想将其设置为全局设置,请编辑文件 ~/Library/Application Support/TextMate/Global.tmProperties 并在文件类型特定设置的任何行之前的开头附近添加行 saveOnBlur = True。
【讨论】:
~/.tm_properties 的顶部添加了saveOnBlur = true,重新启动了TextMate(即使它似乎在监视该文件的更改),当我切换到另一个选项卡或窗口时,该文件仍未保存。我对.tm_properties 所做的其他更改工作正常,我三重检查了我的 TextMate 版本为 2.0-alpha.9547。有什么想法吗?
~/Library/Application Support/TextMate/Global.tmProperties而不是~/.tm_properties中进行更改。
~/.tm_properties 的文件名模式下尝试了它(如您引用的示例所示),但没有运气。
编辑文件:~/Library/Application Support/TextMate/Global.tmProperties
并添加行:
saveOnBlur = true
Global.tmProperties 文件仅在启动时加载,因此您需要保存所有更改,退出并重新运行 TextMate 以使其生效。
【讨论】:
TextMate 2 有一个插件可以让您节省焦点丢失:Save-On-Focus-Lost,只需安装该插件,即使在 TexMate 2 中您也可以恢复该功能。
【讨论】:
插件:https://github.com/bomberstudios/Save-On-Focus-Lost.tmbundle 在 mavericks 中为我工作,但捆绑包的路径与 github 上的说明中列出的路径不同。
我认为捆绑包安装在:TextMate2 中的 /Library/Application Support/Avian/Bundles
在那里克隆包 (git clone https://github.com/bomberstudios/Save-On-Focus-Lost.tmbundle.git) 工作正常。
【讨论】:
saveOnBlur 设置仅适用于至少保存一次的文件。即,存在于磁盘上的文件。如果你通过打开一个新的临时文件来测试它,输入一些东西然后切换回来,文件将不会被保存,因为磁盘上没有文件。保存临时文件然后测试。它应该可以工作。
【讨论】: