好像在网上找不到任何东西。经常花时间同时编辑多个文本文档,并且不知道我编辑了哪些文档。当我关闭时,我并不总是确定我是否故意更改或意外编辑了文件中的字符。如果有一个功能可以显示自上次保存崇高文本以来的编辑内容,那就太好了。
似乎是一个如此明显的需求,以至于我很惊讶我在功能中找不到任何东西。我错过了什么还是我是唯一一个有这种需要的人?
好像在网上找不到任何东西。经常花时间同时编辑多个文本文档,并且不知道我编辑了哪些文档。当我关闭时,我并不总是确定我是否故意更改或意外编辑了文件中的字符。如果有一个功能可以显示自上次保存崇高文本以来的编辑内容,那就太好了。
似乎是一个如此明显的需求,以至于我很惊讶我在功能中找不到任何东西。我错过了什么还是我是唯一一个有这种需要的人?
我知道这已经有一个可接受的答案,但没有必要安装 FileDiffs 或其他任何东西。只需右键单击修改后的窗口并选择Show Unsaved Changes
.
一个窗格将显示在底部,列出差异。没有明显的方法可以关闭窗格,但Ctrl+F将再次将其替换为搜索窗格。
将此行添加到您的Preferences.sublime-settings
文件中(如果您使用的是 Mac,则打开 Sublime Text 2 菜单 -> 首选项 -> 设置 - 用户):
"highlight_modified_tabs": true
这将突出显示未保存更改的选项卡。
您可以使用“Marking Changed Rows”插件,该插件会为未保存更改的行放置一个小的装订线标记。
您可以安装FileDiffs插件,它可以让您了解当前(已编辑)文件和保存到磁盘的文件之间的差异。
长期以来,右键单击文件中的任意位置提供了一个选项来显示所有未保存的更改。
它将列出对话框区域中的所有更改,也用于查找/替换。
这应该适用于 Sublime Text 2和3。
更新版本的 Sublime Text 3 添加了增量差异功能。
装订线显示哪些行已更改。
这既适用于未保存的更改,也适用于文件保存或git 提交之间的更改。
它可以配置为显示差异:最后保存的版本(不需要 git)、git Head 或(通过 API)任何其他内容。
右键单击
提供以下选项:
或者您可以使用菜单项:
Edit -> Text -> Toggle -> Hunk Diff
或快捷方式:
Ctrl+ / (在 Mac 上是三叶草图标,而不是 Ctrl)
或者这个快捷方式变体,它也会关闭/隐藏所有其他差异 Hunks
Ctrl+ ; (在 Mac 上是三叶草图标,而不是 Ctrl )
我不知道显示所有未保存更改的菜单项。
菜单项和快捷方式可用于在更改之间导航,并恢复单个(内联)更改。(有关详细信息,请参阅上面的链接文档)。
小警告:
diff
样式才能看到装订线标记。如果您使用不包含必要样式的旧主题,文档说明了如何添加自定义样式。Preferences
Show Diff Hunk
选项将显示更改是否“重要”、实际文件差异。在修改之间导航(您的主题是否显示装订线标记):
Ctrl+ .
Ctrl+ ,
menu Goto
-> Next Modification
menu Goto
->Previous Modification
将光标悬停在修改后的代码或装订线(无论您的主题是否显示装订线标记):
Ctrl+ K,后跟Ctrl+ Z (在 Mac 上是三叶草图标,而不是 Ctrl)
菜单Edit
-> / Text
->Revert Modification
这只会作用于diff Hunk
光标所在位置的那个。
如果您的光标不在修改后的代码/差异块区域中,它将不会有任何影响。
mini_diff
控制增量差异功能(仅适用于 Git 的开/关/开)
有效值包括:
true – always enable incremental diff (the DEFAULT) (Git or Not-Git)
"auto" – enable incremental diff for files in a Git repository (only)
false – disable incremental diff
git_diff_target
控制 Git 存储库中文件的增量差异的行为
有效值包括:
"index" – diff against the Git index (aka staged for commit), (the DEFAULT)
"head" – diff against the file at HEAD (aka last commit in checked out branch)