sudo vim somefile.conf
时,实在令人沮丧,而我无法使用任何键绑定,设置和插件。要以root用户身份进行编辑吗?我的插件使用的是vim-plug。
#1 楼
除了以root身份打开vim外,您还可以通过重定向到tee来简单地另存为root。这是一个示例::w !sudo tee % > /dev/null
这对在您的.vimrc中使用别名可能很有用,我使用
:Sw
:评论
这对我做了很多编辑,然后意识到我应该使用sudoedit很有用,但是对于一般情况,我建议使用sudo -e / sudoedit。
–詹姆斯
15年6月12日在17:26
#2 楼
两件事:使用
$ sudo -e file
用file
编辑$EDITOR
。如果尚未设置export EDITOR=/path/to/vim
,则添加$EDITOR
。使用香草是对抗插件成瘾的绝佳方法。
评论
-1用于建议插件成瘾恢复(J / K,实际上没有降票)
–罗比·韦克斯(Robbie Wxyz)
15年6月11日在18:57
请注意,它不会像sudo vim一样以root用户身份运行vim。编辑将以您的普通用户身份进行,然后sudo处理更新原始文件。
–詹姆斯
2015年6月12日在2:35
注意:sudo有两个类似的选项:-E和-e。 -E表示“保存器环境”,这不是您想要的环境。 -e依次表示“不要运行命令,而是使用已定义的过程编辑文件”。
–iksemyonov
18年4月5日在9:37
#3 楼
看起来您所要做的就是将root的~/.vimrc
和~/.vim/
链接到您的链接。只需以root身份运行:
ln -s /home/<user>/.vimrc /root/.vimrc
ln -s /home/<user>/.vim/ /root/.vim/
那应该
(PS我刚刚发现了这个问题,想与其他菜鸟分享。请告诉我是否有更好的方法。)
评论
这通常会引起一些问题,因为某些与vim相关的文件将作为root写入您的主目录中,之后您会在尝试以自己的用户身份运行自己的vim配置时遇到错误。
–卡莱布
15年6月16日在8:04
这是我最喜欢的解决方案。如果我在以自己的用户身份运行vim时遇到任何问题,我会报告。
– david_nash
20年7月5日在23:45
#4 楼
如果您提前知道需要以根用户身份编辑文件,则使用命令sudoedit <file>
或sudo -e <file>
将使您在特殊的环境中进行设置,并使用通常的编辑器首选项进行设置。复制文件并启动编辑器以用户身份对其进行编辑。退出时,文件将以root身份复制回到其原始位置。这是最安全和建议的方法,但是如果a)您没有提前意识到,则需要以root身份编写或b)想要就地编辑和保存增量更改,则需要其他操作。为此,由smpl提出的使用
sudo tee
的解决方案无疑是正确的,但是可以对边缘情况进行一些小的改进。值得注意的是,在GUI与控制台界面中处理sudo密码提示的区别值得引起注意。设置此名称的更简单方法是使用vim-eunuch插件。它有这个特殊的问题,还有一些其他方便的东西组合成一个方便的软件包。用法就像调用
:SudoWrite
一样简单。我什至使用了稍微方便一些的访问映射:cmap w!! call SudoWrite()
这应该使您能够使用
:w!!
以root身份写入任何文件。#5 楼
另一种选择是运行sudo -E vim somefile.conf
进行编辑,这将保留您的环境,因此将使用您的.vimrc
和插件。评论
嘿,好戏!这对于Vi和许多其他命令很有用。
–罗比·韦克斯(Robbie Wxyz)
15年6月15日在17:43
这具有与将配置链接到根目录的主目录相同的副作用:即,任何写入状态数据的vim操作或插件都将在主目录中执行此操作。这些文件最终由root拥有,并且稍后会导致错误,因为普通用户将无法继续使用它们。
–卡莱布
15年6月16日在8:10
评论
附带说明:sudo vim文件最好写成sudo -e文件(前提是您设置了环境变量EDITOR = vim)。@ lcd047:您应该在评论中添加评论