作为 root 用户的服务器的用户唯一 .vimrc 文件

Sco*_*ott 4 linux vim

我在办公室陷入了一场 IDE 战争,其中多个用户在我们的服务器上拥有 root 访问权限,并且喜欢使用 VIM 以自己的方式拥有一切。不幸的是,我们将我们的服务器锁定到足够的位置,如果你想做任何事情,你需要有 root 访问权限。显然(尽管这显然是不受欢迎的),我们厌倦了在输入每个命令之前输入 sudo,这将要求我们不断输入我们一遍又一遍地强制要求我们的奇妙复杂的密码,所以很自然地我们都只是执行sudo su -登录时的命令以避免所有这些。

当然,当涉及到 VIM 和自定义 .vimrc 文件时,我们经常会踩到别人的自定义 .vimrc 文件,并且我们在这些文件中有一些用户拥有的功能可能会覆盖我们不知道的功能,更没有耐心去学习。

当作为 linux 机器上的 root 时,有没有办法让我们所有人仍然维护我们的 .vimrc 文件,而不必每次有人想要使用 VIM 时一遍又一遍地覆盖文件?理想情况下,我们有许多安装了 VIM 的虚拟机,因此最好是跨所有服务器的通用解决方案,而且我们确实在 /home/username 下的服务器上安装了 Microsoft Windows 用户特定的主目录。

有什么适应这种情况的建议吗?

kni*_*ttl 5

用于sudo -i在当前用户的环境仍然加载的情况下访问 root shell。

man sudo

-i(模拟初始登录)选项运行在运行命令的用户的 passwd(5) 条目中指定的 shell。提供给 shell 的命令名称参数以 - 开头,以告诉 shell 作为登录 shell 运行。sudo 在运行 shell 之前尝试更改到该用户的主目录。它还初始化环境,保持 TERM 不变,设置 HOME 、 SHELL 、 USER 、 LOGNAME 和 PATH ,并取消设置所有其他环境变量。请注意,因为要使用的 shell 是在解析 sudoers 文件之前确定的,所以 sudoers 中的 runas_default 设置将指定用户运行 shell,但不会影响实际运行的 shell。

  • 如果问题是“多个用户如何以 root 身份运行 vim 并仍然使用他们唯一的 vimrc”,那么这个答案就是错误的。 (2认同)

mat*_*hew 2

我能想到3个选择。第一个可能是最简单的。

\n\n
    \n
  1. 像下面这样调用 vim vim -u /path/to/custom/.conifg fileToEdit\n
    Man Entry:

    \n\n
    \n
    -u {vimrc}  Use  the commands in the file {vimrc} for initializations. \n
    Run Code Online (Sandbox Code Playgroud)\n\n

    所有其他初始\xe2\x80\x90\n 化都被跳过。使用它来编辑特殊\n类型的文件。它还可用于通过指定名称“NONE”来跳过所有初始化。有关详细信息,请参阅 vim 中的“:help initial\xe2\x80\x90\n ization”。

    \n\n
      -U {gvimrc} Use the commands in the file {gvimrc} for GUI\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    初始化。所有其他 GUI 初始化都会被跳过。它还可用于通过指定名称“NONE”来跳过所有 GUI 初始化。请参阅 vim 中的“:help gui-init”\n 了解更多详细信息。

    \n
  2. \n
  3. sudo -i正如@knittl指定的/sf/ask/453011471/#6471766

  4. \n
  5. 最后,/sf/ask/72197751/#1031624建议保留一组个人配置文件git或另一个版本控制系统中保留一组个人配置文件。因此,每个用户都可以在登录后查看他们需要什么。此外,您还可以保留更改的历史记录。版本控制从来都不是一个坏主意。
  6. \n
\n