[Python-checkins] r76154 - in python/trunk/Misc: NEWS Vim/vimrc
brett.cannon
python-checkins at python.org
Sun Nov 8 22:35:28 CET 2009
Author: brett.cannon
Date: Sun Nov 8 22:35:28 2009
New Revision: 76154
Log:
Properly detect whether a C file is using tabs or spaces for Vim.
Closes issue #5611. Thanks Kirk McDonald and Johannes Hoff.
Modified:
python/trunk/Misc/NEWS
python/trunk/Misc/Vim/vimrc
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS (original)
+++ python/trunk/Misc/NEWS Sun Nov 8 22:35:28 2009
@@ -1607,6 +1607,11 @@
- Issue #2389: Array objects are now pickled in a portable manner.
+Misc
+----
+
+- Issue #5611: Auto-detect whether a C file uses tabs or spaces in Vim.
+
What's New in Python 2.6 final
==============================
Modified: python/trunk/Misc/Vim/vimrc
==============================================================================
--- python/trunk/Misc/Vim/vimrc (original)
+++ python/trunk/Misc/Vim/vimrc Sun Nov 8 22:35:28 2009
@@ -15,31 +15,29 @@
" 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: 8 spaces (pre-existing files) or 4 spaces (new files)
-au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
-au BufRead *.c,*.h set shiftwidth=8
-au BufNewFile *.c,*.h set shiftwidth=4
-
" 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
+" What to use for an indent.
+" This will affect Ctrl-T and 'autoindent'.
+" Python: 4 spaces
+" C: tabs (pre-existing files) or 4 spaces (new files)
+au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead,BufNewFile *.py,*.pyw set expandtab
-au BufRead,BufNewFile *.c,*.h set noexpandtab
+fu Select_c_style()
+ if search('^\t', 'n', 150)
+ set shiftwidth=8
+ set noexpandtab
+ el
+ set shiftwidth=4
+ set expandtab
+ en
+endf
+au BufRead,BufNewFile *.c,*.h call Select_c_style()
au BufRead,BufNewFile Makefile* set noexpandtab
-" Use the below highlight group when displaying bad whitespace is desired
+" 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.
More information about the Python-checkins
mailing list