~ubuntu-branches/ubuntu/maverick/python3.1/maverick

« back to all changes in this revision

Viewing changes to Misc/Vim/vimrc

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-03-23 00:01:27 UTC
  • Revision ID: james.westby@ubuntu.com-20090323000127-5fstfxju4ufrhthq
Tags: upstream-3.1~a1+20090322
ImportĀ upstreamĀ versionĀ 3.1~a1+20090322

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
" vimrc file for following the coding standards 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 <this file> ~/.vimrc``).  All options are protected by autocmds
 
6
" (read below for an explanation of the command) so blind sourcing of this file
 
7
" is safe and will not affect your settings for non-Python or non-C files.
 
8
"
 
9
"
 
10
" All setting are protected by 'au' ('autocmd') statements.  Only files ending
 
11
" in .py or .pyw will trigger the Python settings while files ending in *.c or
 
12
" *.h will trigger the C settings.  This makes the file "safe" in terms of only
 
13
" adjusting settings for Python and C files.
 
14
"
 
15
" Only basic settings needed to enforce the style guidelines are set.
 
16
" Some suggested options are listed but commented out at the end of this file.
 
17
 
 
18
 
 
19
" Number of spaces to use for an indent.
 
20
" This will affect Ctrl-T and 'autoindent'.
 
21
" Python: 4 spaces
 
22
" C: 4 spaces
 
23
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
 
24
au BufRead *.c,*.h set shiftwidth=8
 
25
au BufNewFile *.c,*.h set shiftwidth=4
 
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: yes
 
37
" Makefile: no
 
38
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set expandtab
 
39
au BufRead,BufNewFile Makefile* set noexpandtab
 
40
 
 
41
" Use the below highlight group when displaying bad whitespace is desired
 
42
highlight BadWhitespace ctermbg=red guibg=red
 
43
 
 
44
" Display tabs at the beginning of a line in Python mode as bad.
 
45
" Should be done for C code, but not until all code has been moved to 4-space
 
46
"   indents.
 
47
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
 
48
" Make trailing whitespace be flagged as bad.
 
49
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
 
50
 
 
51
" Wrap text after a certain number of characters
 
52
" Python: 79 
 
53
" C: 79
 
54
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set textwidth=79
 
55
 
 
56
" Turn off settings in 'formatoptions' relating to comment formatting.
 
57
" - c : do not automatically insert the comment leader when wrapping based on
 
58
"    'textwidth'
 
59
" - o : do not insert the comment leader when using 'o' or 'O' from command mode
 
60
" - r : do not insert the comment leader when hitting <Enter> in insert mode
 
61
" Python: not needed
 
62
" C: prevents insertion of '*' at the beginning of every line in a comment
 
63
au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r
 
64
 
 
65
" Use UNIX (\n) line endings.
 
66
" Only used for new files so as to not force existing files to change their
 
67
" line endings.
 
68
" Python: yes
 
69
" C: yes
 
70
au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix
 
71
 
 
72
 
 
73
" ----------------------------------------------------------------------------
 
74
" The following section contains suggested settings.  While in no way required
 
75
" to meet coding standards, they are helpful.
 
76
 
 
77
" Set the default file encoding to UTF-8: ``set encoding=utf-8``
 
78
 
 
79
" Puts a marker at the beginning of the file to differentiate between UTF and
 
80
" UCS encoding (WARNING: can trick shells into thinking a text file is actually
 
81
" a binary file when executing the text file): ``set bomb``
 
82
 
 
83
" For full syntax highlighting:
 
84
"``let python_highlight_all=1``
 
85
"``syntax on``
 
86
 
 
87
" Automatically indent based on file type: ``filetype indent on``
 
88
" Keep indentation level from previous line: ``set autoindent``
 
89
 
 
90
" Folding based on indentation: ``set foldmethod=indent``