mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" vimrc file for following the coding standards specified in PEP 7 & 8.
 | 
						|
"
 | 
						|
" To use this file, source it in your own personal .vimrc file (``source
 | 
						|
" <filename>``) or, if you don't have a .vimrc file, you can just symlink to it
 | 
						|
" (``ln -s <this file> ~/.vimrc``).  All options are protected by autocmds
 | 
						|
" (read below for an explanation of the command) so blind sourcing of this file
 | 
						|
" is safe and will not affect your settings for non-Python or non-C files.
 | 
						|
"
 | 
						|
"
 | 
						|
" All setting are protected by 'au' ('autocmd') statements.  Only files ending
 | 
						|
" in .py or .pyw will trigger the Python settings while files ending in *.c or
 | 
						|
" *.h will trigger the C settings.  This makes the file "safe" in terms of only
 | 
						|
" adjusting settings for Python and C files.
 | 
						|
"
 | 
						|
" Only basic settings needed to enforce the style guidelines are set.
 | 
						|
" Some suggested options are listed but commented out at the end of this file.
 | 
						|
 | 
						|
 | 
						|
" Number of spaces to use for an indent.
 | 
						|
" This will affect Ctrl-T and 'autoindent'.
 | 
						|
" Python: 4 spaces
 | 
						|
" C: tab (8 spaces)
 | 
						|
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
 | 
						|
au BufRead,BufNewFile *.c,*.h set shiftwidth=8
 | 
						|
 | 
						|
" Number of spaces that a pre-existing tab is equal to.
 | 
						|
" For the amount of space used for a new tab use shiftwidth.
 | 
						|
" Python: 8
 | 
						|
" C: 8
 | 
						|
au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8
 | 
						|
 | 
						|
" Replace tabs with the equivalent number of spaces.
 | 
						|
" Also have an autocmd for Makefiles since they require hard tabs.
 | 
						|
" Python: yes
 | 
						|
" C: no
 | 
						|
" Makefile: no
 | 
						|
au BufRead,BufNewFile *.py,*.pyw set expandtab
 | 
						|
au BufRead,BufNewFile *.c,*.h set noexpandtab
 | 
						|
au BufRead,BufNewFile Makefile* set noexpandtab
 | 
						|
 | 
						|
" Use the below highlight group when displaying bad whitespace is desired
 | 
						|
highlight BadWhitespace ctermbg=red guibg=red
 | 
						|
 | 
						|
" Display tabs at the beginning of a line in Python mode as bad
 | 
						|
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
 | 
						|
 | 
						|
" Wrap text after a certain number of characters
 | 
						|
" Python: 79 
 | 
						|
" C: 79
 | 
						|
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set textwidth=79
 | 
						|
 | 
						|
" Turn off settings in 'formatoptions' relating to comment formatting.
 | 
						|
" - c : do not automatically insert the comment leader when wrapping based on
 | 
						|
"    'textwidth'
 | 
						|
" - o : do not insert the comment leader when using 'o' or 'O' from command mode
 | 
						|
" - r : do not insert the comment leader when hitting <Enter> in insert mode
 | 
						|
" Python: not needed
 | 
						|
" C: prevents insertion of '*' at the beginning of every line in a comment
 | 
						|
au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r
 | 
						|
 | 
						|
" Use UNIX (\n) line endings.
 | 
						|
" Only used for new files so as to not force existing files to change their
 | 
						|
" line endings.
 | 
						|
" Python: yes
 | 
						|
" C: yes
 | 
						|
au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix
 | 
						|
 | 
						|
 | 
						|
" ----------------------------------------------------------------------------
 | 
						|
" The following section contains suggested settings.  While in no way required
 | 
						|
" to meet coding standards, they are helpful.
 | 
						|
 | 
						|
" Set the default file encoding to UTF-8: ``set encoding=utf-8``
 | 
						|
 | 
						|
" Puts a marker at the beginning of the file to differentiate between UTF and
 | 
						|
" UCS encoding (WARNING: can trick shells into thinking a text file is actually
 | 
						|
" a binary file when executing the text file): ``set bomb``
 | 
						|
 | 
						|
" For full syntax highlighting:
 | 
						|
"``let python_highlight_all=1``
 | 
						|
"``syntax on``
 | 
						|
 | 
						|
" Automatically indent based on file type: ``filetype indent on``
 | 
						|
" Keep indentation level from previous line: ``set autoindent``
 | 
						|
 | 
						|
" Folding based on indentation: ``set foldmethod=indent``
 | 
						|
 | 
						|
" Make trailing whitespace explicit (left off since this will automatically
 | 
						|
" insert the highlight or characters *as you type*, which can get annoying):
 | 
						|
"``match BadWhitespace /\s\+$/``
 | 
						|
"
 | 
						|
" or, for a non-colored, character-based solution:
 | 
						|
"
 | 
						|
"``set list listchars=trail:-``
 | 
						|
 |