如何使用 vi 编辑器更改文件中所做的修改?

如何使用 vi 编辑器更改文件中所做的修改?

我有一个查询,如何更改文件中的修改 - 也就是说,如果我使用 vi 编辑一个文件并在其中添加一些行并保存它,但现在我想要回原始文件而不重新编辑它。

答案1

如果您在写入更改后尚未退出 vim,则可以执行以下 vim 命令来撤消自打开文件以来所做的所有更改。

:u1|u

上面的命令首先运行命令 :undo 1,然后运行 ​​:undo。前一个命令跳转到第一次更改后,后一个命令撤消第一次更改

答案2

您使用的 Vi 可能是 Vim(因为您使用的是 Linux 系统)。

Vim 有一个backup选项,可以在保存当前缓冲区之前创建磁盘上现有文件的备份。备份将与原始文件同名,但~在文件名末尾附加 。

要启用此功能,请添加

set backup

到你的~/.vimrc文件。

要更改备份扩展名,请设置backupext为所需的后缀:

set backup
set backupext=.bak

你也可以改变在哪里backupdir通过设置目录名称来存储备份。backupdir的默认值为.,~/tmp,~/。这意味着 Vim 首先尝试将备份保存在当前目录 ( .) 中,但如果失败(无论出于何种原因),它会使用 再次尝试~/tmp,然后再次使用~/

另请参阅:help backupVim 内部。

Vi没有这个功能。

相关内容