" Set filetype stuff to on.
filetype on
filetype plugin on
+
+" Set up autoindentation.
+set smartindent
filetype indent on
" Example filetype-specific setting:
set foldmethod=syntax
set foldlevelstart=99
-" Show line numbers.
-set number
-set numberwidth=4
-
" Scroll five lines ahead of cursor.
set scrolloff=5
" Turn off error bells and visual bell
set noeb vb t_vb=
-" Set up autoindentation.
-set smartindent
-filetype indent on
-
-" Set tabs to width 4.
-set softtabstop=4
-set tabstop=4
-set shiftwidth=4
+" Set tabs to width 2.
+filetype plugin indent on
+set shiftwidth=2
+set softtabstop=2
+set tabstop=2
set expandtab
+" language-specific settings: tab width is 4 for python
+autocmd FileType python setlocal shiftwidth=4 softtabstop=4 tabstop=4
+
" Allow backspacing over everything in insert mode.
set backspace=indent,eol,start
autocmd FileType help,make match BadSpacing / *$/
augroup END
-" Highlight search terms.
-set hlsearch
-
" Search as you type.
set incsearch
" Set the color scheme to desert.
colorscheme desert
+" Set custom whitespace display
+set list
+set showbreak=↪\
+set listchars=tab:\ \ →,eol:↲,nbsp:␣,trail:•,extends:⟩,precedes:⟨
+
" Unmap the arrow keys to prevent bad habits.
noremap <Up> ""
noremap! <Up> <Esc>
noremap <Right> ""
noremap! <Right> <Esc>
-" Map open and close items in insert mode.
-" Keep this commented out until I can get it working better.
-"inoremap { {<CR>}<Esc>O
-"inoremap [ []<Esc>i
-"inoremap ( ()<Esc>i
-"inoremap } <Esc>/}<CR>o
-"inoremap ] <Esc>/]<CR>a
-"inoremap ) <Esc>/)<CR>a
-
" Automatically reload the .vimrc when changes are made to it
au! BufWritePost .vimrc source %