vim & emacs 强制修改 root 权限的文件
偶尔在 server 上用到 vim 在编辑一些配置文件时,有时会忘记了在 vim 前面加上sudo 导致编辑好了的文件没办法保存。
在 emacs 下 我们可以调用强大的 tramp 直接 C-x C-f 然后 /sudo::/etc/hosts 敲到etc前面的斜杠时emacs会自动让你输入当前用户的root密码。
tramp还能ssh 远程编辑文件 使用 /ssh:user@192.168.1.10:~/somefile 来以user用户编辑192.168.1.10机器上的somefile文件
vim 下也可以直接保存正在编辑 却没有权限的文件 方法纠结了点 有点 hacking
具体方法是结合sudo和tee两个命令来实现
:w !sudo tee %
解释如下:
:w – Write a file.
!sudo – Call shell sudo command.
tee – The output of write (vim :w) command redirected using tee.
% – is nothing but current file name
这样就会可以保存了。不需要再为了忘了sudo vim 而退出重新编辑懊恼了。