linux 上文件用vim 编辑保存后,自动生成了一个文件(文件名加了个 “~”号)怎么去除掉?
PHPz
PHPz 2017-04-17 13:23:31
[Linux讨论组]

linux 上文件用vim 编辑保存后,自动生成了一个文件(文件名加了个 “~”号)怎么去除掉?
这个文件是干涉么么用的?如图

PHPz
PHPz

学习是最好的投资!

全部回复(3)
PHP中文网

vim的文件旧版本备份功能, 但凡你重新编辑一个已经存在的文件时, 在你保存的时候会将老版本加一个~另存为一个备份文件, 当然如果这个备份文件已经存在就会覆盖原来的. 想要取消这个功能, 用:set nobackup 命令就可以.

譬如你的文件file.txt原本的内容是"content1", 你打开vim, 把它编辑成"content2", 然后:w保存. 这时file.txt里面就是"content2", file.txt~里面就是"content1".

楼下有答案说到backup, writebackup, swapfile的区别, 我解释一下:

  • backup 是普通的加~备份.
  • writebackup 是防止灾难时的加~备份, 特点是文件正常写入之后就会自动删除. 也就是说如果你的文件有正常写入(不正常情况通常发生在磁盘快要满的时候), 你是很难见到这个文件出现的.
  • swapfile 也是防止灾难, 不过是缓冲区的备份, 也就是你正在编辑的内容. 如果你在编辑的时候电脑断电或者Vim发生异常退出, 而你没有保存, 你可以从.file.txt.swp里恢复这个文件.

默认的Linux文件系统会认为.**~是隐藏文件. 所以大多数时候并不影响美观 :-) .

黄舟

vim默认会自动备份原始文件,~结尾的文件就是备份的原始文件,如果想要关闭这个功能,可以在配置文件中修改:

~/.vimrc中添加:

vimset nobackup
set nowritebackup
set noswapfile    ! (additionally disable swap files)

最后一行可以不要

vim备份文件设置

黄舟

.vimrc

把这个判断里的if部分保留,else部分注释掉。
(Vim的注释符是")
即修改后应该是这样的:

if has("vms")
set nobackup " do not keep a backup file, use versions instead
" else
" set backup " keep a backup file
4. 保存 
set nobackup                " 覆盖文件时不备份
set backupcopy=yes          " 设置备份时的行为为覆盖
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号