1

How can I edit the default vimrc file on osx? (sudo chown ... gives Operation not permitted )

In osx vim /usr/share/vim/vimrc is the default vimrc file

My username is 'apple'

If I try to do vim /usr/share/vim/vimrc then it says 'read only'

~/.vim$ ls -l /usr/share/vim/vimrc -rw-r--r-- 1 root wheel 532 5 Apr 2017 /usr/share/vim/vimrc ~/.vim$

If I try to change ownership of the file

~/.vim$ sudo chown apple /usr/share/vim/vimrc 
chown: /usr/share/vim/vimrc: Operation not permitted
~/.vim$ 

similarly with permissions (giving write access to non-root users temporarily for the purposes of me editing the file)

~/.vim$ sudo chmod 666 /usr/share/vim/vimrc
chmod: Unable to change file mode on /usr/share/vim/vimrc: Operation not permitted
~/.vim$ 

sudo chown does work on another file though, so it's not a password issue.

~/.vim$ cp /usr/share/vim/vimrc zzz
~/.vim$ ls -l zzz
-rw-r--r--  1 apple  staff  532  3 May 23:10 zzz
~/.vim$ sudo chown root zzz
~/.vim$ sudo chown apple zzz
~/.vim$ 
  • You should not overwrite the system vimrc for various reasons. One being that with a system upgrade it will be overwritten. link – modlin May 3 '19 at 22:36
  • @modlin i'm only looking to change one line, and it's my computer. So even if it's not recommended to do so, I want to do so. I'm asking how – barlop May 3 '19 at 22:39
  • What are you trying to change? There's probably a way to do this with a .vimrc file in your home directory, rather than making a change to a system file. – duskwuff -inactive- May 4 '19 at 6:29
  • @duskwuff of course it can be done from the file in the ~/.vim/vimrc, but I want to change the file that runs first. As to why, it's a personal preference that if one particular feature of vim is so utterly ridiculous, I want to turn it off in the main file. Then put my customizations in the home dir vimrc. Then if I have different vimrcs can do vim -S a.a or vim -S b.b (where a.a or b.b are vimrc files), and they'll all run shortmess=I from the main file – barlop May 4 '19 at 7:13
2

This would be a System Integrity Protection (SIP) issue. See About System Integrity Protection on your Mac. Error message shown below is often displayed when SIP prevents a command from executing.

Operation not permitted

Basically, you need to either temporarily disable SIP or edit the file while booted to macOS Recovery.

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .