📜  在 vim 中进行 sudo 访问 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:23:20.877000             🧑  作者: Mango

在 vim 中进行sudo访问 - Shell-Bash

有时候,您可能需要编辑只有超级用户才能访问的文件。但是,如果您以普通用户身份打开vim编辑器,您将无法编辑或保存这些文件。这时使用sudo命令将vim以超级用户身份运行是解决问题的办法。

在vim中使用sudo命令编辑文件

要在vim中使用sudo命令编辑文件,请执行以下步骤:

  1. 打开终端并用vim打开要编辑的文件

    $ vim filename
    
  2. 当您尝试保存文件时,您将看到“E45: ‘readonly’选项被设置”的错误。这是因为您没有权限编辑这个文件。

  3. 为了解决这个问题,请在vim命令模式下,输入以下命令:

    :w !sudo tee %
    

    这个命令做了以下事情:

    • :w命令表示保存当前文件。
    • !sudo命令告诉vim以超级用户身份运行。
    • tee %命令将vim缓冲区中的内容输出到当前文件,由于sudo权限,可以覆盖只有超级用户才能访问的文件。
  4. 当您输入该命令时,系统可能会要求您输入sudo密码。输入密码后,文件将保存并退出。

快捷键让您更快地使用sudo

要更快地使用sudo来编辑文件,请在vimrc文件中添加以下快捷键:

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

这个快捷键将w!!转换为sudo tee > /dev/null %命令。因此,当您在vim中输入:w!!时,vim将要求您输入sudo密码,并将文件保存到磁盘上。

现在,您可以像普通用户一样打开和编辑文件,无需以超级用户身份运行vim,也不必离开vim编辑器来使用sudo命令编辑文件。

结论

在vim中以超级用户身份运行sudo命令以编辑只有超级用户可以访问的文件很简单。通过简单的命令和快捷键,您可以轻松地完成这个任务,而无需离开vim编辑器。