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 而退出重新编辑懊恼了。

posted @ 2012-07-03 11:00  LemonLi  阅读(1294)  评论(0编辑  收藏  举报