首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么用:w和:append打开仍然覆盖文件?

:w和:append都是Vim编辑器的命令,在编辑文件时使用。它们的功能是将当前编辑的内容保存到文件中。

:w命令是将编辑的内容写入文件,如果文件不存在,则会创建一个新文件;如果文件已存在,则会覆盖原文件内容并保存修改后的内容。这种覆盖文件的行为是Vim默认的保存方式。

:append命令是在文件的末尾追加编辑的内容,并保存到文件中。它不会覆盖原文件的内容,而是在原文件的末尾添加新内容。

为什么使用这两个命令仍然会覆盖文件的内容,可能是由于以下几种情况导致的:

  1. 命令输入错误:可能在使用命令时,输入有误导致了文件内容的覆盖。例如,可能误输入了:w或:append命令,导致错误地覆盖了文件内容。
  2. 文件权限问题:如果当前用户对文件没有写权限,那么无论使用哪个命令都无法成功保存修改。在Linux系统中,可以使用chmod命令修改文件权限,确保当前用户具有写权限。
  3. Vim配置问题:Vim的配置文件中可能存在某些选项或插件,会改变:w和:append命令的默认行为,导致覆盖文件内容。在这种情况下,可以检查Vim配置文件,逐个禁用插件或选项,以确定是哪个配置引起了问题。

无论是:w还是:append命令,都属于Vim编辑器的基本操作,用于保存文件内容。如果出现文件内容被覆盖的情况,可以先确认命令输入是否正确,并检查文件权限和Vim配置,排除其他因素的影响。如果问题仍然存在,可以尝试使用其他编辑器进行文件编辑,以确定是否是Vim特定的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

day 8 - 1 文件操作

wb #只写 w #我们写入的格式 utf-8 那么当我们查看时也要使用 utf-8 格式 #没有该文件 w 会创建文件 f = open('e:/py/test.txt',mode='w',encoding...='utf-8') f.write('正在写入...') f.close() #存在该文件覆盖写入 #即只写的逻辑 先清空文件在写入 f = open('e:/py/test.txt',mode...()) f.write("你就能看".encode('gbk')) f.close() 写读  w+ 不常用 #还是先清除 在添加 所以没什么用 #w+ 也存在 bytes 类型 w+b f = open...#没什么用 f = open('e:/py/test.txt',mode='w+',encoding='utf-8') f.write("...") f.seek(0) #光标在 0 的位置 print...#把要修改的文件修改好的部分写入到创建好的新文件中 #然后删除源文件 with open('e:/py/test.txt',encoding='gbk')as f,\ open('e:/py

39330

老李大战PHP之file_put_contents

程序执行完毕后,理论上我们打开api.log文件,应该有 30 * 10000 行数据,就说明没有出现多进程写同一文件覆盖数据这种事情。...上面的描述可能比较拗口,我用人话来粗暴地翻译一下: 当多个进程打开同一个文件的时候,操作系统会记录每一个进程打开的所有文件的记录并放到一个列表中;比如路人甲进程路人乙进程,都打开了api.log文件,...然后路人甲进程路人乙进程的打开文件列表里都会记录下api.log这个记录,然后这个记录指向两个具体的文件详情,比如说路人甲打开api.log后将光标往后移动到了第三行开始,路人乙打开的api.log光标停留在第五行末尾...,每个进程每个进程打开文件详情注定都是不同的,不然就要出乱子了。...然而这并没有完,路人甲的打开文件详情路人乙的打开文件详情中又分别有一个指针,这两个指针最终指向了同一个同一个同一个同一个同一个叫做 “ i节点 ” 的地方,这个节点中存储了一个很重要的信息:文件长度。

78920
  • 老李大战PHP之file_put_contents

    程序执行完毕后,理论上我们打开api.log文件,应该有 30 * 10000 行数据,就说明没有出现多进程写同一文件覆盖数据这种事情。...上面的描述可能比较拗口,我用人话来粗暴地翻译一下: 当多个进程打开同一个文件的时候,操作系统会记录每一个进程打开的所有文件的记录并放到一个列表中;比如路人甲进程路人乙进程,都打开了api.log文件,...然后路人甲进程路人乙进程的打开文件列表里都会记录下api.log这个记录,然后这个记录指向两个具体的文件详情,比如说路人甲打开api.log后将光标往后移动到了第三行开始,路人乙打开的api.log光标停留在第五行末尾...,每个进程每个进程打开文件详情注定都是不同的,不然就要出乱子了。...然而这并没有完,路人甲的打开文件详情路人乙的打开文件详情中又分别有一个指针,这两个指针最终指向了同一个同一个同一个同一个同一个叫做 “ i节点 ” 的地方,这个节点中存储了一个很重要的信息:文件长度。

    1.1K30

    PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解

    ‘r+’ 读写方式打开,将文件指针指向文件头。 ‘w’ 写入方式打开,将文件指针指向文件头并将文件大小截零。如果文件不存在则尝试创建之。...‘w+’ 读写方式打开,将文件指针指向文件头并将文件大小截零。如果文件不存在则尝试创建之。 ‘a’ 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。...如果您用 fopen() 打开并不存在的文件,此函数会创建文件,假定文件打开写入(w)或增加(a)。 下面的例子创建名为 “testfile.txt” 的新文件。...如果文件存在,默认将清空文件内的内容,可设置 flags 参数值 FILE_APPEND 以避免(见下)。 本函数可安全用于二进制对象。...以追加形式写入内容 当设置 flags 参数值 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据: <?

    11.2K20

    【Java】JDK 8 Lambda 表达式参考资料和文章整理

    编译后的 class 文件如下,看到明显多出来一个LambdaTest1$1.class 。图片打开cmd使用cd命令移动到对应目录下面。...或者使用Idea 快速打开对应目录图片小技巧 1:编译后到 classes,如果想要直接查看 class 文件的反编译内容,可以直接把 class 文件拖拽到 idea 里面进行打开,就可以看到 class...以上面到案例例:打开cmd,进入对应的class目录,我们可以执行javap 的格式进行翻译操作执行javap -c -l -p xxx,得到结果:选项的含义?...-bootclasspath 覆盖引导类文件的位置为了更进一步了解底层的jvm指令执行,使用javap -c -l -p xxx反编译结果如下Compiled from "LambdaTest1...参考博客:Java8里面的java.util.Spliterator接口有什么用?一句话概括:为了多线程并行遍历元素而设计到迭代器版本:JDK 8目的:简化复杂到并行迭代程序编写。

    21750

    预备小菜:Python入门之操作文件

    ,Python是如何读取写入的。...打开方式 作用 功能描述 r 读 以只读方式打开文件文件不存在则报错 r+ 读、覆盖写 以读写方式打开文件文件不存在则报错 rb 读 以只读方式打开文件读取二进制数据,文件不存在则报错 rb+ 读、...覆盖写 以读写方式打开文件操作二进制数据,文件不存在则报错 w 写 以只写方式打开文件文件存在则覆盖,不存在则创建 w+ 读、覆盖写 以读写方式打开文件文件存在则覆盖,不存在则创建 wb 写 以只写方式打开文件写入二进制数据...,文件存在则覆盖,不存在则创建 wb+ 读、覆盖写 以读写的方式打开文件写入二进制数据,文件存在则覆盖,不存在则创建 a 追加写 追加内容,新写的内容添加到已有内容之后,不覆盖,若文件不存在则会创建文件...读写二进制数据,新写的内容添加到已有内容之后,不覆盖,若文件不存在则会创建文件 以上各种方式无法就是三个操作,读r(read),写w(write),追加a(append),如果带b表示操作的是二进制数据

    33110

    python文件处理

    概念及作用(为什么用文件操作) 计算机系统分为:计算机硬件,操作系统,应用程序三部分。...() 文件的写操作: 注意 如果用w或者w+的方式打开文件 会立刻把文件中的内容全部清空并且不能回复 所有在打开文件的时候千万不要用w或者w+的方式 f=open(‘文件路径’,w,encoding...文件打开方式文本模式时,代表读取3个字符 2....文件打开方式b模式时,代表读取3个字节 二 其余的文件光标都是以字节位单位的,例如:seek tell truncate 注意:  1. seek有三种移动方式0,1,2,其中02必须在b...(data) 可以同时打开俩个文件使用该方法可以不用关闭文件(即可以不使用f.cloese()) 文件的修改 文件的数据是存放于硬盘上的,因而只存在覆盖

    37720

    数据集 | 10米分辨率全球土地覆盖产品

    高分辨率的土地覆盖产品是我们对小区域进行研究时不可或缺的数据。清华大学的宫鹏教授团队发布过一套10m分辨率的地物覆盖产品。并且这一套产品面向全球公开。...数据的下载地址: http://data.ess.tsinghua.edu.cn/fromglc10_2017v01.html 打开网址我们就可以看到包含所有地物覆盖数据的表格: 第一个文件是对像元值所代表的地物进行介绍...虽然我也不知道下载全球数据有什么用,但就是喜欢自己硬盘装的满满的感觉,哈哈哈。 下面我们就看一下怎么用python把这一页的数据都下载到你硬盘上吧。...requests.exceptions.RequestException as e: print(i.split('/')[-1],'失败') fail_url.append...不过应该是可以把所有10m分辨率地物覆盖数据都下载下来的!

    70410

    文件操作

    文件操作流程 打开文件,得到文件句柄并赋值给一个变量  f = ("文件名",“文件操作模式r,w or a”,encoding = "utf-8"#这是python编码方式) 通过句柄对文件进行操作...f.read() f.write() f.append() 关闭文件 一般在程序最后,关闭文件f.close() 打开文件的模式有: r,只读模式(默认)。...w,只写模式。【不可读;不存在则创建;存在则删除内容】意思就是无论文件是否存在,都会重新创建,覆盖掉原来的内容 a,追加模式。...【可读; 不存在则创建;存在则只追加内容;】就是写模式,只不过不覆盖掉原来的内容 "+" 表示可以同时读写某个文件 r+,可读写文件。...【可读;可写;可追加】 w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用) rU r+U "b"表示处理二进制文件(如:FTP发送上传

    41430

    每天 3 分钟,小闫带你学 Python(二十四)

    如下表示以 写 的模式打开文件 test.txt: file = open('test.txt', 'w') open 括号中第一个参数文件的路径,第二个参数操作的模式。...模式:如示例中 w 表示写,那么其他模式怎么表示呢?如下: 访问模式 说明 r 以只读方式打开文件文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。...如果该文件不存在,创建新文件进行写入。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。...文件指针将会放在文件的开头。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab+ 以二进制格式打开一个文件用于追加。...如下: # 以写模式打开文件test.txt f = open('test.txt', 'w') # 关闭这个文件 f.close() 2.文件的读写 既然学会了打开文件关闭文件,接下来该关心的便是写数据读数据

    68230

    基本的文件操作

    文件是操作系统用户或应用程序提供的读写硬盘的虚拟单位,有了文件我们可以读取数据,没有文件的话应该去在硬盘上扣动机械手臂然后寻找数据 如何使用文件 1,打开文件 2,读写数据 3,保存 4,关闭文件 使用...,encoding='gbk') print(fr.read()) fr.close() 打开文件瞬间是在操作硬盘内存 python3不能操作硬盘,因为是应用程序 看到的python3打开文件操作,都是基于操作系统...然后用del只是删除变量名的内存占用 但是我们从来没有告诉操作系统关闭文件 所以我们必须使用f.close()关闭文件 文件的三种打开方式 文件操作的基础模式有三种(默认r) r-read w-write...a-append 文件读写内容的格式有两种 t-text b-bytes 注意:t.b不能单独使用,与r\w\a连用,r\w\a能单独使用 fr = open('test.txt',mode='a'...2,相对路径:当前文件夹开始,打开文件必须运行的py文件必须在一个文件夹下 指针 with open('test.txt','rt+',encoding='utf8') as fa: 文件的写入没有插入

    38410

    网络工程师学Python-26-文件打开

    图片打开文件Python中使用open()方法来打开指定的文件。open()需要一个文件路径一个文件模式作为参数,文件模式用来指定打开文件的方法。...w 写入模式,如果文件存在,则覆盖内容;不存在,则新建文件。 a 追加模式,如果文件存在,则在文件末尾添加内容;否则,新建文件。x 独占创建模式,仅在文件不存在时才能创建该文件,否则会报错。...例如'w+'表示以读写模式打开文件;'a+'表示以读取追加模式打开文件打开文件的最佳实践在Python中,为了避免打开文件时忘记关闭文件发生内存泄漏问题,推荐使用with语句打开文件。...文件追加在Python中,除了读取写入文件,还可以使用append()方法,在文件末尾处追加内容。...在上述代码中,我们使用a(append)模式打开文件。a模式用于追加操作。类似地,由于使用了with语句,所以文件在语句块完成后自动关闭。结论Python提供了灵活的文件操作方法。

    37520

    【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别

    第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出。...rU要求文件必须存在 不可读的打开方式:wa 若不存在会创建新文件打开方式:a,a+,ww+ >>> fd=open(r'f:\mypython\test.py','w') #只读方式打开,读取报错...在写入123之后,指针的位置是4,仍然文件尾,文件在内存中是123[EOF]。 但看起来read()的时候,Python仍然去试图在磁盘的文件上,将指针从文件头向后跳3,再去读取到EOF为止。...也就是说,你实际上是跳过了该文件真正的EOF,硬盘底层的数据做了一个dump,一直dump到了一个从前存盘文件的[EOF]为止。所以最后得到了一些根本不期待的随机乱字符,而不是编码问题造成的乱码。...#确定写入,此时文件内容“456” >>> fd.read() '' #读出空 原因:同样是指针问题,写入后指针指向末尾[EOF],因此读出空 解决方案一、调用close后重新打开,指针位于开头

    3.2K10

    python文件打开方式详解——a、a+、r+、w+区别

    第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出。...w+可读写) **w+与r+区别: r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建 r+与a+区别: [python]fd = open("1.txt",'w+')   fd.write...rU要求文件必须存在 不可读的打开方式:wa 若不存在会创建新文件打开方式:a,a+,ww+ >>> fd=open(r'f:\mypython\test.py','w')    #只读方式打开...在写入123之后,指针的位置是4,仍然文件尾,文件在内存中是123[EOF]。 但看起来read()的时候,Python仍然去试图在磁盘的文件上,将指针从文件头向后跳3,再去读取到EOF为止。...也就是说,你实际上是跳过了该文件真正的EOF,硬盘底层的数据做了一个dump,一直dump到了一个从前存盘文件的[EOF]为止。所以最后得到了一些根本不期待的随机乱字符,而不是编码问题造成的乱码。

    8.1K70

    01月25日【Python3 基础知识】

    文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。...wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。...如果该文件不存在,创建新文件进行写入。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。...文件指针将会放在文件的开头。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab+ 以二进制格式打开一个文件用于追加。...8") as f: fileContext += f.readlines() for line in fileContext: sortUid.append

    34310
    领券