我有一个查询,如何更改文件中的修改 - 也就是说,如果我使用 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 backup
Vim 内部。
Vi没有这个功能。