27

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.)

Code-Guru
  • 170

3 Answers3

16

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)

weshouman
  • 263
  • 2
  • 5
14

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
Heptite
  • 20,411
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.

rakslice
  • 2,846