Linux中,常常会用到 vim ,其中 q ,wq wq!的区别,以及 vim -r 的作用[通俗易懂]

w->表示保存退出wq!->表示强制保存退出,可以保存”readonly”只读文件q->在vim中表示退出q!->表示强制不保存退出,不对文件进行保存wq和wq!的区别如下:有些文件设置了只读,一般不是修改文件的,但是如果你是文件的owner或者root的话,通过wq!还是能保存文件退出如果文件设置为只读了的话,用:wq命令是不能保存并退出的,但是最高权限者可通过wq!来进行文件的保存并退出文件。已设定选项‘readonly’(请加!强制执行)!.

大家好,又见面了,我是你们的朋友全栈君。

  • w ->表示保存退出
  • wq! ->表示强制保存退出,可以保存”readonly”只读文件
  • q ->在vim中表示退出
  • q! ->表示强制不保存退出,不对文件进行保存

wq和wq!的区别如下:

有些文件设置了只读,一般不是修改文件的,但是如果你是文件的owner或者root的话,通过wq!还是能保存文件退出

如果文件设置为只读了的话,用 :wq命令是不能保存并退出的,但是最高权限者可通过wq!来进行文件的保存并退出文件。

已设定选项 ‘readonly’ (请加 ! 强制执行)
!是强制执行
如果不带!碰上只读文件,会给提示会是只读文件,带了!忽略只读强制写入。

“x” 和 “wq” 的区别如下:

(1) :wq 强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。

(2) :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。

这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,”:wq” 强制更新文件的修改时间,

这样会让 make 编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。不过像是版本控制的软件一般首选还是比较文件内容,修改时间一般不加以理会。

vim 中 :!、:r、:w 命令

  • :!{cmd} 「 执行cmd命令 」
  • :r[ead] !{cmd} 「 输出到缓冲区」
  • :w[rite] ! wc 「 输入」
  • :w filename 「 另存为」
  • :h :w 「 帮助 」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129399.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • webapp开发框架[通俗易懂]

    webapp开发框架[通俗易懂]前言快速增长的APP应用软件市场,以及智能手机的普及,手机应用:Native(原生)APP快速占领了APP市场,成为了APP开发的主流,但其平台的不通用性,开发成本高,多版本开发等问题,一直困扰着专业APP开发企业,和APP服务提供商。安卓和IOS的操作方式,开发模式,界面UI显示方面的差别,也使得原生APP的不同版本体验有很大的区别,光是做兼容性调测,都要花费开发企业不少的时间。近年来,另一种应用形态——基于HTML5技术的WebApp也如雨后春笋般出现,于是关于原生APP与HTML5APP

  • struts2 FilterDispatcher StrutsPrepareAndExecuteFilter[通俗易懂]

    struts2 FilterDispatcher StrutsPrepareAndExecuteFilter[通俗易懂]StrutsPrepareAndExecuteFilter与FilterDispatcher的区别org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterorg.apache.struts2.dispatcher.FilterDispatcherFilterDispatcher是早期struts2的过

  • mysql截取前几个字符串_mysql 截取字符串 函数[通俗易懂]

    mysql截取前几个字符串_mysql 截取字符串 函数[通俗易懂]文章摘取自http://www.cnblogs.com/zdz8207/p/3765073.html练习截取字符串函数(五个)mysql索引从1开始一、mysql截取字符串函数1、left(str,index)从左边第index开始截取2、right(str,index)从右边第index开始截取3、substring(str,index)当index>0从左边开始截取直到结束当ind…

  • c++的字符串数组string[通俗易懂]

    c++的字符串数组string[通俗易懂]用字符数组来存放字符串并不是最理想和最安全的方法。C++提供了一种新的数据类型——字符串类型(string类型),在使用方法上,它和char、int类型一样,可以用来定义变量,这就是字符串变量——用一个名字代表一个字符序列。实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。一、字符…

    2022年10月31日
  • python里的map函数用法的代码

    python里的map函数用法的代码在代码过程中中,把代码过程中经常用的一些代码段珍藏起来,下面代码内容是关于python里的map函数用法的代码,应该是对大伙有所用途。#mapfunction#basicsyntaxdef

  • mybatis错误——java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

    Mybatis加载Mapper的xml出现java.io.IOException: Could not find resource com/xxx/xxxMapper.xml

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号