" LLVM coding guidelines conformance for VIM
-" Maintainer: LLVM Team, http://llvm.cs.uiuc.edu
-" Updated: 2005-04-24
+"
+" Maintainer: The LLVM Team, http://llvm.org
" WARNING: Read before you source in all these commands and macros! Some
" of them may change VIM behavior that you depend on.
+"
+" You can run VIM with these settings without changing your current setup with:
+" $ vim -u /path/to/llvm/utils/vim/vimrc
+
+" It's VIM, not VI
+set nocompatible
" Wrap text at 80 cols
set textwidth=80
set shiftwidth=2
set expandtab
+" Highlight trailing whitespace
+highlight WhitespaceEOL ctermbg=DarkYellow guibg=DarkYellow
+match WhitespaceEOL /\s\+$/
+
" Optional
" C/C++ programming helpers
set autoindent
" Add and delete spaces in increments of `shiftwidth' for tabs
set smarttab
+" Highlight syntax in programming languages
+syntax on
+
" Enable filetype detection
filetype on
" LLVM Makefiles can have names such as Makefile.rules or TEST.nightly.Makefile,
" so it's important to categorize them as such.
augroup filetype
- au! BufRead,BufNewFile *Makefile* set filetype=make
+ au! BufRead,BufNewFile *Makefile* set filetype=make
augroup END
" In Makefiles, don't expand tabs to spaces, since we need the actual tabs
" Useful macros for cleaning up code to conform to LLVM coding guidelines
" Delete trailing whitespace and tabs at the end of each line
-map :dtws :%s/[\ \t]\+$//
+command! DeleteTrailingWs :%s/[\ \t]\+$//
" Convert all tab characters to two spaces
-map :untab :%s/\t/ /g
+command! Untab :%s/\t/ /g