4

When I login as root or edit a file by sudo mode all of the options in my /etc/vimrc are not working (e.g. highlight line-number etc.)

6
  • Does user root have a vimrc?
    – Mat
    Mar 13, 2012 at 11:15
  • 1
    i config at /etc/vimrc
    – fronthem
    Mar 13, 2012 at 11:28
  • 1
    What does :echo $VIM (in vim) tell you? (According to my understanding of :help system-vimrc, the global vimrc is expected to be $VIM/vimrc)
    – sr_
    Mar 13, 2012 at 11:39
  • $VIM is /usr/share/vim
    – fronthem
    Mar 13, 2012 at 12:06
  • 1
    Some distros set up /usr/share/vim/vimrc as a symlink to /etc/vim/vimrc.
    – jw013
    Mar 13, 2012 at 16:11

5 Answers 5

7

I guess the reason is that your home directory ~ is changed, where contains vim configuration file .vimrc .

Normally ~ is /root if you login as root, and is /home/YOURNAME if you login as YOURNAME.

1
  • i'm config option in /etc/vimrc.
    – fronthem
    Mar 13, 2012 at 11:28
3

Maybe you are using vi to try to start VIM which will not use /etc/vimrc.

If that is the case, you have two options:

  1. Use vim
  2. Modify /etc/profile.d/vim.sh to set vi as an alias for all users not only for users with a uid >= 100
1

Which vimrc are you talking about? I don't use/know vim, but in many cases rc files have two kinds of "incarnation": a system-wide rc-file under /etc that dictates the system defaults for the application and user-wide rc-files under the user homedirs, where users set their own settings, that override the defaults from the system-wide configuration file.

Meanwhile, there is sudo, that runs a program as another user (usually root, maybe, like su, it allows you to impersonate users other than root).

As you're running vim through sudo, my guess is that you're expecting ~/.vimrc to be something that it isn't. Either that, or you don't understand what is sudo doing when you invoke it.

If it really is ~/.vimrc, then it's not "not working", it's actually working quite well, the issue is that there's probably no ~root/.vimrc, or it exists with different settings than these you were expecting.

1

This appears a result of introducing the additional hard-coded "default" vimrc in the newer versions of vim as /usr/share/vim/vimXY/defaults.vim.

https://github.com/vim/vim/issues/2917#issuecomment-389203845

Until this is fixed, I see the only work-around in creating per-user ~/.vimrc files (including /root/.vimrc).

0

You should log in as root and ls -al you can see that there is no .vimrc ,so you can create a new .vimrc when you log as root. And now try it, everything is ok!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.