| Brett Cannon | 8b4e886 | 2004-09-19 05:43:13 +0000 | [diff] [blame] | 1 | " vimrc file for following the coding style specified in PEP 7 & 8. | 
 | 2 | " | 
 | 3 | " To use this file, source it in your own personal .vimrc file (``source | 
 | 4 | " <filename>``) or, if you don't have a .vimrc file, you can just symlink to it | 
 | 5 | " (``ln -s <filename> ~/.vimrc``).  All options are protected by 'autocmd's | 
 | 6 | " (read below for an explanation) so blind sourcing of this file is safe and | 
 | 7 | " will not affect your settings for non-Python or non-C files. | 
 | 8 | " | 
 | 9 | " All setting are protected by 'au' ('autocmd') statements.  Only files ending | 
 | 10 | " in .py or .pyw will trigger the Python settings while files ending in *.c or | 
 | 11 | " *.h will trigger the C settings.  This make the file "safe" in terms of only | 
 | 12 | " adjusting settings for Python and C files. | 
 | 13 | " | 
 | 14 | " Only basic settings needed to enforce the style guidelines are set. | 
 | 15 | " Some suggested options are listed but commented out at the end of this file. | 
 | 16 | " | 
 | 17 |  | 
 | 18 |  | 
 | 19 |  | 
 | 20 | " Number of spaces to use for an indent. | 
 | 21 | " This will affect Ctrl-T and 'autoindent'. | 
 | 22 | " Python: 4 spaces | 
 | 23 | " C: tab (8 spaces) | 
 | 24 | au BufRead,BufNewFile *.py,*pyw set shiftwidth=4 | 
 | 25 | au BufRead,BufNewFile *.c,*.h set shiftwidth=8 | 
 | 26 |  | 
 | 27 | " Number of spaces that a pre-existing tab is equal to. | 
 | 28 | " For the amount of space used for a new tab, use shiftwidth. | 
 | 29 | " Python: 8 | 
 | 30 | " C: 8 | 
 | 31 | au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8 | 
 | 32 |  | 
 | 33 | " Replace tabs with the equivalent number of spaces. | 
 | 34 | " Also have an autocmd for Makefiles since they require hard tabs. | 
 | 35 | " Python: yes | 
 | 36 | " C: no | 
 | 37 | au BufRead,BufNewFile *.py,*.pyw set expandtab | 
 | 38 | au BufRead,BufNewFile *.c,*.h set noexpandtab | 
 | 39 | au BufRead,BufNewFile Makefile* set noexpandtab | 
 | 40 |  | 
 | 41 | " Wrap text after a certain number of characters | 
 | 42 | " Python: 79  | 
 | 43 | " C: 79 | 
 | 44 | au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set textwidth=79 | 
 | 45 |  | 
 | 46 | " Turn off settings in 'formatoptions' relating to comment formatting. | 
 | 47 | " - c : do not automatically insert the comment leader when wrapping based on | 
 | 48 | "    'textwidth' | 
 | 49 | " - o : do not insert the comment leader when using 'o' or 'O' from command mode | 
 | 50 | " - r : do not insert the comment leader when hitting <Enter> in insert mode | 
 | 51 | " Python: not needed | 
 | 52 | " C: prevents insertion of '*' at the beginning of every line in a comment | 
 | 53 | au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r | 
 | 54 |  | 
 | 55 | " Use UNIX (\n) line endings. | 
 | 56 | " Only used for new files so as to not force existing files to change their | 
 | 57 | " line endings. | 
 | 58 | " Python: yes | 
 | 59 | " C: yes | 
 | 60 | au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix | 
 | 61 |  | 
 | 62 |  | 
 | 63 |  | 
 | 64 | " The following section contains suggested settings.  While in no way required | 
 | 65 | " to meet coding standards, they are helpful. | 
 | 66 |  | 
 | 67 | " Set the default file encoding to UTF-8: ``set encoding=utf-8`` | 
 | 68 |  | 
 | 69 | " Put a marker at the beginning of the file to differentiate between UTF and | 
| Brett Cannon | 35ae3dd | 2004-09-25 01:39:56 +0000 | [diff] [blame] | 70 | " UCS encoding (warning: always done when reasonable, which can mess up shells | 
 | 71 | " into thinking a text file is actually a binary file when executing the text | 
 | 72 | " file): ``set bomb`` | 
| Brett Cannon | 8b4e886 | 2004-09-19 05:43:13 +0000 | [diff] [blame] | 73 |  | 
 | 74 | " For full syntax highlighting: | 
 | 75 | "``let python_highlight_all=1`` | 
 | 76 | "``syntax on`` | 
 | 77 |  | 
 | 78 | " Automatically indent: ``filetype indent on`` | 
 | 79 |  | 
 | 80 | " Fold based on indentation: ``set foldmethod=indent`` | 
| Brett Cannon | 24a0045 | 2004-09-20 22:33:21 +0000 | [diff] [blame] | 81 |  | 
 | 82 | " Make trailing whitespace explicit: | 
 | 83 | "highlight WhitespaceEOL ctermbg=red guibg=red  | 
 | 84 | "match WhitespaceEOL /\s\+$/ | 
 | 85 | " or | 
 | 86 | "set list listchars=trail:- | 
 | 87 |  |