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

2022-07-29 16:23:10 浏览数 (1)

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

  • 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 「 帮助 」

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

0 人点赞