![如何 vimgrep 交换目录中的文件](https://linux22.com/image/1395783/%E5%A6%82%E4%BD%95%20vimgrep%20%E4%BA%A4%E6%8D%A2%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6.png)
我不小心关闭了一个打开了一些 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 本身中打开文件,它可能无法处理自己的交换文件。