18

I started using Vim as it was first installed and then decided to change the indentation behavior by adding

set tabstop=8 softtabstop=0 expandtab shiftwidth=2 smarttab

to ~/.vimrc as suggested by https://stackoverflow.com/questions/1878974/redefine-tab-as-4-spaces. However, when I do so, syntax highlighting for my Python files is disabled. I assume it is probably disabled for other languages and that other settings are not set from the default configuration, as well, but haven't tested yet.

How do I keep the rest of the default settings and only modify the above settings for indentation? (Note: I did not have a ~/.vimrc before this. I created it and added the single line above.)

12

Your system default vimrc no longer gets loaded when you create your own (and that's as it should be).

You also won't get filetype based indenting and other things.

The solution is to add these lines to ~/.vimrc:

filetype indent plugin on
syntax on
5
  • 3
    What if I want to keep those "other things" as well? What can I do? – Code-Guru Dec 3 '16 at 1:41
  • 2
    Locate the file and add a :source command in your vimrc. – Heptite Dec 3 '16 at 1:42
  • How to locate the file ? Where can it be ? – xtof54 Oct 27 '18 at 7:34
  • 5
    @xtof54 Without a ~/.vimrc, do :scriptnames – Heptite Oct 27 '18 at 14:31
  • source $VIMRUNTIME/defaults.vim – jabbat Mar 4 at 19:38
7

Or you can move the content of your ~/.vimrc file to ~/.vim/plugin/CUSTOM_NAME.vim.

Vim will automatically load your configurations (without touching any other defaults)

1
  • This should be the correct answer, since it doesn't interfere with the defualt behavior. Thanks! – jlbenc Mar 14 at 1:30
2

What I found is that the vim installation didn't contain a system default vimrc at e.g. /etc/vimrc, but it did supply some settings in /etc/skel/.vimrc which resembled the default configuration, unlike what you get if you just do syntax on in an otherwise blank .vimrc, and could be copied to an existing account as a starting point.

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.