1" LLVM coding guidelines conformance for VIM 2" 3" Maintainer: The LLVM Team, http://llvm.org 4" WARNING: Read before you source in all these commands and macros! Some 5" of them may change VIM behavior that you depend on. 6" 7" You can run VIM with these settings without changing your current setup with: 8" $ vim -u /path/to/llvm/utils/vim/vimrc 9 10" It's VIM, not VI 11set nocompatible 12 13" Wrap text at 80 cols 14set textwidth=80 15 16" A tab produces a 2-space indentation 17set tabstop=2 18set shiftwidth=2 19set expandtab 20 21" Highlight trailing whitespace 22highlight WhitespaceEOL ctermbg=DarkYellow guibg=DarkYellow 23match WhitespaceEOL /\s\+$/ 24 25" Optional 26" C/C++ programming helpers 27set autoindent 28set smartindent 29" Add and delete spaces in increments of `shiftwidth' for tabs 30set smarttab 31 32" Highlight syntax in programming languages 33syntax on 34 35" Enable filetype detection 36filetype on 37 38" LLVM Makefiles can have names such as Makefile.rules or TEST.nightly.Makefile, 39" so it's important to categorize them as such. 40augroup filetype 41 au! BufRead,BufNewFile *Makefile* set filetype=make 42augroup END 43 44" In Makefiles, don't expand tabs to spaces, since we need the actual tabs 45autocmd FileType make set noexpandtab 46 47" Useful macros for cleaning up code to conform to LLVM coding guidelines 48 49" Delete trailing whitespace and tabs at the end of each line 50command! DeleteTrailingWs :%s/[\ \t]\+$// 51 52" Convert all tab characters to two spaces 53command! Untab :%s/\t/ /g 54