我不小心关闭了一个打开了一些 vim 选项卡的终端窗口。
现在我如何使用vimgrep
或终端找到这些交换文件grep
?
答案1
Vim 默认将交换文件保存在与你正在编辑的文件相同的目录中。你应该去那里看看。
如果您在自己的.vimrc
(或下载了其他人的)中更改了它,则应仔细检查以查看它们是否保存在其他地方。选项将类似于set dir=~/.vim/swap
。
一旦确定了交换文件可能位于何处,我们就应该着手恢复它们。在 *nix 系统上,它们是隐藏文件(以 开头.
),而在 DOS 系统(Windows)上,它可能以 = 开头(但可能不是隐藏的)。
因此,在 *nix 系统上,您要查找的文件将类似于myfile.swX
,其中myfile
是您丢失的文件的名称,并且X
可能是之后的任何字母p
(vim 重命名交换文件而不是删除它们)。
一旦找到文件,要恢复它,请打开 Vim,然后运行:recover myfile.swp
。
祝你好运,希望你能找到你的文件!
答案2
你不需grep
要这样做,因为 Vim 交换文件已经可以通过其文件扩展名find
.从包含所有打开的 Vim 文件的基本目录或您配置的目录开始搜索:set directory=...
:
$ find . -name '.*.swp'
PS:由于:vimgrep
在 Vim 本身中打开文件,它可能无法处理自己的交换文件。