通常在编辑配置文件时,我会用vi打开一个配置文件,然后当我go 保存它时,会意识到我没有输入

sudo vi filename

有没有办法赋予vi sudo保存文件的权限?我似乎记得不久前在查找有关vi的信息时看到了一些关于这方面的信息,但现在我找不到了.

推荐答案

%替换为当前文件名,因此您可以使用:

:w !sudo tee %

(vim将检测到文件已被更改,并询问您是否希望重新加载该文件. Select [L]而不是"确定"表示同意.)

作为快捷方式,您可以定义自己的命令.将以下内容放入你的.vimrc:

command W w !sudo tee % >/dev/null

根据以上内容,您可以键入:W<Enter>来保存文件.自从我写了这篇文章,我找到了一个更好的方法(在我看来):

cmap w!! w !sudo tee >/dev/null %

这样,你可以输入:w!!,它将被扩展到完整的命令行,光标留在最后,所以你可以用自己的文件名替换%,如果你喜欢的话.

Linux相关问答推荐

git别名函数可以用单引号写吗?

在程序集x86_64中跳转后调用ret时出现分段故障

在64位Linux Mint 21.2 Mate上呈现nvim中的文本对象时出现问题

/proc/mounts 没有像 /proc/self/mountinfo 这样的源信息

使用 PowerShell 删除重复行所需的时间比 WSL 长得多

有没有办法确定什么代码使 linux 共享对象inflating ?

如何使用 ftrace 过滤查看函数上方的调用堆栈?

将行转换为一条

使用 awk 将多行文本转换为 CSV

根据文件名对目录中的文件进行 chgrp

MessageBox 的 GTK 实现

如何在 Linux 中设置目录大小限制?

使用 RPATH 但不使用 RUNPATH?

对一行的最后一个字段进行排序

Linux 和 I/O 完成端口?

rm 没有释放磁盘空间

linux中netstat和ss的区别?

Docker:您是否try 连接到没有 TLS 的启用 TLS 的守护进程?

使用 Bash 查找和复制文件

如何在redhat linux上安装maven