在 Windows 上的 Neovim 中写入文件之前,有没有一种简单的方法可以查看更改?

在 Windows 上的 Neovim 中写入文件之前,有没有一种简单的方法可以查看更改?

我想在保存文件之前查看对文件所做的更改。可以这样做吗?最好不使用 vimrc 或安装其他软件?我在 Windows 上使用 Neovim。

我尝试了这里的一个答案:

https://stackoverflow.com/questions/749297/can-i-see-changes-before-i-save-my-file-in-vim

即:

:w !diff % -

这是我得到的:

'diff' is not recognized as an internal or external command,
operable program or batch file.

shell returned 1

我还尝试使用适用于 Linux 的 Windows 子系统通过 bash 执行命令:

:w !bash -c 'diff % -'

结果:

diff: -: Illegal seek

shell returned 2

我尝试了 Windows 命令行和 Windows PowerShell,以上两种方法都得到了相同的结果。我看到还有其他答案包括编辑 vimrc 或安装其他软件,但我想先看看是否有一种简单的方法可以做到这一点。

答案1

我还没有弄清楚错误的原因,但我确实找到了一个简单的解决方法:

:w !bash -c "cat - | diff % -"

看起来 diff 正在尝试执行流不支持的查找。因此通过 cat 进行缓冲似乎可以解决问题。

相关内容