Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1787|回复: 1
打印 上一主题 下一主题

VIM的swp文件

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2017-9-14 11:22:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当你非正常关闭vim编辑器时(比如直接关闭终端或者电脑断电),会生成一个.swp文件,这个文件是一个临时交换文件,用来备份缓冲区中的内容。

需要注意的是如果你并没有对文件进行修改,而只是读取文件,是不会产生.swp文件的。

意外退出时,并不会覆盖旧的交换文件,而是会重新生成新的交换文件。而原来的文件中并不会有这次的修改,文件内容还是和打开时一样。

例如,第一次产生的交换文件名为“.file.txt.swp”;再次意外退出后,将会产生名为“.file.txt.swo”的交换文件;而第三次产生的交换文件则为“.file.txt.swn”;依此类推。





当你再次用vim打开文件是,会首先出现上述界面。

你可以使用

vim -r

来查看当前目录下的所有swp文件


你也可以使用

vim -r filename

来恢复文件,这样上次意外退出没有保存的修改,就会覆盖文件。

然后用rm 命令删除交换文件。

如果你不想vim产生交换文件,可以使用如下命令禁止

:set noswapfile

也可以使用以下命令,设置生成交换文件:

:set swapfile

注意,以上设置仅针对当前文件生效。

根据默认设置,交换文件会每隔4000毫秒(4秒)或者200个字符保存一次。我们可以使用以下命令,修改保存交换文件的频率:

:set updatetime=23000

:set updatecount=400

注意,如果我们将updatecount的值为0,那么就将不保存交换文件。

Vim默认在当前文件所处的目录下产生交换文件,我们可以通过directory选项来更改交换文件产生的目录。例如,使用以下命令将交换文件存放在/tmp目录下:


:set directory=/tmp

注意,如果我们将交换文件存储在一个指定目录,那么当编辑不同目录下相同名称的文件时,就会产生命名冲突。我们可以将directory选项设置为一个以逗号分隔的目录列表,并将当前目录(.)设为目录列表的第一个选项,这样交换文件首先会被存放在当前目录下。

http://blog.csdn.net/pwiling/article/details/51830781

回复

使用道具 举报

1228

主题

1997

帖子

7578

积分

认证用户组

Rank: 5Rank: 5

积分
7578
沙发
发表于 2019-4-12 17:03:13 | 只看该作者
set dir=~/vimtmp/swp
set udir=~/vimtmp/undo
set bdir=~/vimtmp/backup
set modifiable
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-29 11:41 , Processed in 0.059977 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表