linux – 如何处理vim的交换文件系统?

前端之家收集整理的这篇文章主要介绍了linux – 如何处理vim的交换文件系统?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当在ubuntu中使用 vim时,我不小心按下了暂停我的 vim会话的ctrl-z.我正在编辑一个未保存的文件(我称之为测试).

当我在vim中再次打开文件时,我得到了交换文件错误

E325: ATTENTION
Found a swap file by the name ".test.swp"


Swap file ".test.swp" already exists!

根据Found a swap file by the name的问题,我有两个选择:

>找到会话并完成它(最好).
>删除.swp文件(如果你确定其他git会话已经消失).

我该怎么办?如果我执行rm test.swp它没有看到文件

rm: cannot remove `test.swp': No such file or directory

删除交换文件时我做错了什么?如何完成会话?

编辑:我忘了test.swp中的句号
因此删除swp文件的正确方法是rm .test.swp.

我剩下的问题是如何恢复/完成暂停的vim会话.

解决方法

这与Ubuntu无关,因为发生的是基本机制
几乎每个Unix操作系统.
通过按下^ Z你暂停(未结束)当前正在运行的vim会话. vim
会话仍在那里等待信号再次将其置于前台.

要重新激活会话:
如果vim直接从命令行启动 – 使用命令“fg”(用于“ForeGroung”),vim将再次出现.这适用于所有类似ksh / bourne的shell.对于t / csh,我不知道.这仅在与启动vim的同一终端会话的控制台上给出命令“fg”时有效(这是与vim会话相关的“控制终端”).

如果vim从窗口管理器的菜单中启动(主要是名称为gvim),那么你在这里有点运气,因为(g)vim与其控制终端分离.

您可以选择恢复:
如果条件有效,请使用“fg”.这是最干净的方式.

如果(g)vim会话与控制终端分离,可以通过执行“ps -ef | grep vim”来检查.如果显示TTY的列(请参阅输出标题)
一个 ”?”没有控制终端了,我建议发送过程
一个SIGHUB(请参阅命令“kill”/“killall”的manpage),然后是SIGKILL,如果它仍在那里.
杀死vim(或任何其他任务)可能会导致数据不一致,因为在杀死vim之前没有“保存”命令.

之后,用同一个文件启动一个新的vim,首先执行“恢复”(由vim提供,查看相应的swp文件),保存文件,结束vim并再次使用该文件启动它并执行“删除交换文件“.这是杀死vim后最可能的方式.

为避免意外将vim放入背景中,如果不需要,请将^ Z映射到另一个,更多
“复杂”的关键序列,很难被意外压迫.你可以停用
^ Z命令通过将以下行添加到.vimrc:

map< C-z> ;

另外:你的rm-command错过了.test.swp前面的点,导致rm没有找到文件…或删除另一个文件,名为test.swp而不是“.test.swp”.通过vim删除swp文件,您一定要删除正确的文件.Swp文件总是以UNIX(类似系统)上的点(隐藏文件)开头.

猜你在找的Linux相关文章