Re: [vim ] 新手入门再次请问一下?

楼主: darkgerm (黑骏)   2013-05-24 03:43:56
想回的东西有点多~ 用回文好了
$ sudo vim
这样是以 root 的身份执行 vim,所以读的是 root 的设定档
但若以系统管理的角度来看,有执行 vim 的权限就相当于有 root shell
怎么说?在 vim 里可以用 :sh 进到 shell XD
也就是说,如果今天是用 sudo vim 执行 vim,我可以透过 :sh 来得到 root shell
因此,在多人管理的系统中,除非是本来就有 root 权限的管理者
不然一般维护人员是不可以 sudo vim 的
另一方面,sudo vim 读的是 root 的设定档
于是需要复制一份而且更新时要同步更新... (好啦,这其实可以用 link 做到)
但如果是多人管理的系统,你不能要求其他人都用你的设定档吧XD
那如果要修改 root 档案内容怎么办?
1. 使用 sudoedit,基本上 sudoedit 就是为了解决这个问题而生的
2. :w !sudo tee % 这行指令的意思是:
w(存盘) 存到哪?
!(执行外部指令) 把档案内容 pipe 给外部指令
sudo tee % "%"表示档名,用 tee 接收输入并存到同样的位置去
加上 sudo 表示以 root 执行 tee,如此一来才能动到档案。
我个人是使用第二个方法
因为我常常用 vim 看档案,看一看发现要改就直接改下去
然后要存盘时才发现没有用 sudo/sudoedit orz...
这时候用第二个方法就可以避免再重写一次
※ 引述《noggi (阿部)》之铭言:
: 各位好,在下是vim入门新手…
: 前几天透过版上先进教导才开始懂得C-x C-o
: 不过目前在下又遇到了一个疑问:
: 前几天将家中的web server搬到Amazon Web Service EC2
: 使用系统为AMI(Fedora)
: 在下sftp连上后先将自己电脑里家目录底下的 .vimrc 和 .vim/ 传上去远端AMI的家目录下
: 当然就买上来试试,ssh先连上。
: ~$ vim test.php
: 嗯很好!设定的效果都与自己电脑上使用的都一样!
: 正当高兴时,要来去cd /var/www/html/下写个hello world的index.php
: ~$ sudo vim index.php
: 嗯很好!设定的效果都不见了,好像是默认的样子!
: 所以我遇到的问题是:当我用sudo vim时,vim 所读的.vimrc是不同于家目录底下的那个吗?
: 我该如何处理?
: 不知我形容的好不好,因为我连google搜寻都不太知道该怎么设定关键字搜?
: 最后,感谢各位读完!

Links booklink

Contact Us: admin [ a t ] ucptt.com