自上次保存以来的Sublime Text编辑

时间:2013-07-09 18:57:36

标签: sublimetext2

似乎无法在网上找到任何东西。经常花时间同时编辑多个文本文档,并忽略我编辑过的文档。当我关闭时,我并不总是确定我是否故意更改或意外编辑了文件中的字符。很高兴有一个功能来显示自上次保存sublime文本以来的编辑。

似乎有这么明显的需要,我很惊讶我找不到任何功能。我错过了什么,或者我是唯一有这种需求的人吗?

5 个答案:

答案 0 :(得分:86)

我知道这已经有了一个已接受的答案,但没有必要安装FileDiffs或其他任何东西。只需右键单击修改后的窗口,然后选择Show Unsaved Changes

窗格将显示在底部,列出差异。没有明显的方法可以解除窗格,但 Ctrl + F 会再次将其替换为搜索窗格。

答案 1 :(得分:6)

将此行添加到您的Preferences.sublime-settings文件中(如果您使用的是Mac,请打开Sublime Text 2菜单 - >偏好设置 - >设置 - 用户):

"highlight_modified_tabs": true

这将突出显示未保存更改的标签。

答案 2 :(得分:6)

您可以使用“Marking Changed Rows”插件,该插件为未保存更改的行放置一个小水槽标记。

答案 3 :(得分:5)

您可以安装FileDiffs插件,除了其他有用的东西之外,它还会为您提供当前(已编辑)文件与保存到磁盘的内容之间的差异。

答案 4 :(得分:0)

显示未保存的更改

右键单击文件中的任何位置,早就提供了显示所有未保存更改的选项。
它将在对话框区域中列出所有更改,这些更改也用于查找/替换。
这应该适用于Sublime Text 2 3。

增量差异

较新版本的Sublime Text 3添加了Incremental Diff功能。

装订线显示哪些行已更改。
这适用于未保存的更改以及文件保存 git commits 之间的更改强>。
可以将其配置为显示以下内容的差异:最近保存的版本(不需要git),git Head或(通过API)任何其他内容。

显示修改:

右键单击

  • 装订线标记或
  • 装订线标记旁边的任何代码
    (也就是您的主题是否显示装订线标记
    修改代码的任何区域)

将选项设置为:

  • 内联显示差异版本,或
  • 打开一个对话框,显示所有跟踪的差异

或者您可以使用菜单项:
  Edit -> Text -> Toggle -> Hunk Diff
或快捷方式:
   Ctrl + / (在Mac上是三叶草图标,而不是Ctrl)
或这个快捷方式变体,也会关闭/隐藏所有 other diff Hunks
   Ctrl + ; (在Mac上是三叶草图标,而不是Ctrl)

我不知道菜单项显示所有未保存的更改。

菜单项和快捷方式可用于在更改之间导航,并还原单个(内联)更改。 (有关详细信息,请参见上面的链接文档)。

次要警告

  1. 您的主题必须支持diff样式,以便能够 查看排水沟标记docs指示如果您使用的旧主题不包含必需的样式,则如何添加自定义样式。
    但是,即使您无法{em>看到
    排水沟标记,只要您的{{1}中的启用了选项,功能仍然应该起作用。 }文件。
  2. 如果您进行编辑,然后再将其更改回,除非您通过撤消(即Ctrl-Z)还原,否则缓冲区仍将被标记为具有(2)个更改。它不是“文件差异”,而是用于存储内容和位置的编辑缓冲区的跟踪器。但是,Preferences选项将向您显示更改是否“重要”,实际文件差异。

导航:

要在修改之间进行导航(主题是否显示排水沟标记):
Ctrl +
Ctrl +
菜单Show Diff Hunk-> Goto
菜单Next Modification-> Goto

还原大块:

将鼠标悬停在修改的代码或装订线上(主题是否显示装订线标记):
Ctrl + K ,然后是 Ctrl + Z (在Mac上是三叶草图标,而不是Ctrl)
菜单Previous Modification-> / Edit-> Text

这只会作用于光标所在位置的Revert Modification
如果您的光标不在修改后的代码/ diff Hunk区域中,则不会有任何效果。

以下是控制增量差异功能的Sublime Text 3设置:

diff Hunk 控制增量差异功能(仅对Git启用/禁用/启用)
有效值包括:

mini_diff

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行为
有效值包括:

git_diff_target