Linux环境下VI/VIM编辑文件时无权限保存的解决方法

在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有sudo权限)。其实,在VI/VIM模式下通过一些简单的命令,就能在不关闭当前文件的情况下达到保存文件的目的(感谢晓哲老师提供的方法):

  1. 输入命令:%! sudo tee % > /dev/null
  2. 按提示输入sudo权限密码
  3. 输入“L”(Load File)
  4. 输入:q命令退出

关于“%! sudo tee % > /dev/null”这条命令的说明如下:

%       #VI/VIM编辑的文件内容

!      #管道

sudo     #以root权限操作

tee     #将标准输入(即通过管道过来的当前编辑的文件内容)输出到标准输出,同时写入到指定的文件中(即VI/VIM当前编辑的文件)

%       #VI/VIM编辑的文件

> /dev/null    #将标准输出重定向到/dev/null(不输出显示)

About 智足者富

http://chenpeng.info

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>