如何将更改保存到我的 vim 缓冲区作为补丁文件?

les*_*rid 21 vim diff

有没有办法将我对 vim 缓冲区所做的更改保存为原始文件的补丁文件,而无需将其保存为单独的文件并使用 diff?

les*_*rid 22

可以在没有插件的情况下使用该w命令执行此操作,因此可以在 shell 命令中使用缓冲区内容:

:w !diff -au "%" - > changes.patch
Run Code Online (Sandbox Code Playgroud)

(%替换为正在编辑的文件的路径,-从 stdin 读取缓冲区)

  • 您可以使用 `diff -u "%" -` 因为 `diff` 将破折号理解为 _read from stdin_ (2认同)