4 " Make tab-completion work more like bash.
8 " Ignore certain file extensions when tab-completing.
9 set wildignore=*.swp,*.bak,*.pyc,*.class,*.o,*.exe
11 " Set filetype stuff to on.
15 " Set up autoindentation.
19 " Example filetype-specific setting:
21 " autocmd filetype python set expandtab
29 " Scroll five lines ahead of cursor.
32 " Turn off error bells and visual bell
35 " Set tabs to width 2.
36 filetype plugin indent on
42 " language-specific settings: tab width is 4 for python
43 autocmd FileType python setlocal shiftwidth=4 softtabstop=4 tabstop=4
45 "allow projet-specific vimrcs
47 set secure " Don't execute :autocmd in project-specific vimrcs unless owned by me
49 " Allow backspacing over everything in insert mode.
50 set backspace=indent,eol,start
52 "Highlight bad spacing.
53 highlight BadSpacing term=standout ctermbg=cyan
56 " Highlight tabulators and trailing spaces
57 autocmd BufNewFile,BufReadPre * match BadSpacing /\(\t\| *$\)/
58 " Only highlight trailing space in tab-filled formats
59 autocmd FileType help,make match BadSpacing / *$/
65 " Display command and location status.
69 " Multiple windows are equally sized and open in reading order.
71 set splitbelow splitright
76 " Enlarge history and undo/redo buffers.
80 " Reset colors to a clean state.
81 if !has('gui_running')
85 " Enable syntax highlighting.
88 " Force vim to sync syntax highlighting from the beginning of the file.
91 " Set the color scheme to desert.
94 " Set custom whitespace display
97 set listchars=tab:\ \ →,eol:↲,nbsp:␣,trail:•,extends:⟩,precedes:⟨
99 " Unmap the arrow keys to prevent bad habits.
103 noremap! <Down> <Esc>
105 noremap! <Left> <Esc>
107 noremap! <Right> <Esc>
109 " Automatically reload the .vimrc when changes are made to it
110 au! BufWritePost .vimrc source %