From: Marius R. <mar...@gm...> - 2010-01-26 16:58:17
|
Try the expand command on linux or google for "sed tab to space replacement". Marius On Tue, Jan 26, 2010 at 5:48 PM, Michael Zimmermann <mic...@ia...>wrote: > If you have a lot of files to do this to, I would suggest learning at > least a little bit of perl. It might not be as nice an option as a > python tab manager (depending on your point of view), though. > > Perl uses regular expressions. In case you'd like to see how to do > your tab-space replacement, the following bit of code would convert > tabs to 4 spaces. > > Take care, > > Mike Z > > #---------------------------------- > use strict; > use warnings; > my $file = $ARGV[0]; > open(IN,$file) or die $!; > open(OUT,">".$file."notab") or die $!; > while(<IN>){ > $_ =~ s/\t/ /g; > print OUT $_; > } > close(IN); > close(OUT); > exit; > #---------------------------------- > > On Tue, Jan 26, 2010 at 9:09 AM, Jason Vertrees > <jas...@sc...> wrote: > > David, > > > > Oh, the joys of open-source. Here's my solution for you: > > (1) load your file in your favorite editor > > (2) determine user-desired tab stop setting > > (3) convert all tabs to spaces in your editor (or search replace tabs > > with X-spaces) > > (4) save your file > > > > One warning though, I have seen some interpreters crash when they > > encounter spaces over tabs. > > > > -- Jason > > > > On Tue, Jan 26, 2010 at 9:12 AM, David Hall <li...@co...> > wrote: > >> During my editing of dynoplot.py, I noticed that there were some > >> whitespace issues. Normally I consider whitespace a bikeshedding > >> topic, but in python, it is significant, so it matters. When tabs and > >> spaces are mixed, our own personal settings for how tabs are displayed > >> in an editor makes a huge difference in whether the script is > >> understandable. > >> > >> I checked out the git repo of pymol scripts ( > >> http://github.com/jlec/Pymol-script-repo/ ) and did some analysis > >> > >> First, these files switch between some lines where all indenting is > >> tabs to lines where all indenting is spaces: > >> Objects_and_Selections/color_objects.py has 8 tab lines and 34 space > lines > >> ThirdParty_Scripts/WFMesh.py has 52 tab lines and 21 space lines > >> biochemical_scripts/pucker.py has 167 tab lines and 5 space lines > >> math_geo_cgo/modevectors.py has 160 tab lines and 2 space lines > >> structural_biology_scripts/DynoPlot.py has 82 tab lines and 27 space > lines > >> structural_biology_scripts/Rotamers.py has 86 tab lines and 22 space > lines > >> structural_biology_scripts/kabsch.py has 51 tab lines and 4 space lines > >> > >> Second, there are files where the indenting inside a line switches > >> back and forth (numbers are the counts of lines that have both tabs > >> and spaces in indenting): > >> Objects_and_Selections/color_objects.py: 19 > >> ThirdParty_Scripts/WFMesh.py: 29 > >> ThirdParty_Scripts/transform_odb.py: 6 > >> math_geo_cgo/modevectors.py: 12 > >> structural_biology_scripts/DynoPlot.py: 83 > >> structural_biology_scripts/Rotamers.py: 86 > >> structural_biology_scripts/kabsch.py: 1 > >> > >> I've tried using pindent.py ( > >> http://svn.python.org/projects/python/trunk/Tools/scripts/pindent.py ) > >> and PythonTidy ( http://pypi.python.org/pypi/PythonTidy/ ) to > >> generally fix these, but they both run into problems. Is there a > >> general solution out in the python world to automatically fix this? I > >> don't care whether it produces tabs or spaces. I just want one or the > >> other. If someone points me to something, I'm more than willing to > >> run it on these scripts, push them back to github and copy them back > >> onto the wiki. > >> > >> -David > >> > >> > ------------------------------------------------------------------------------ > >> The Planet: dedicated and managed hosting, cloud storage, colocation > >> Stay online with enterprise data centers and the best network in the > business > >> Choose flexible plans and management services without long-term > contracts > >> Personal 24x7 support from experience hosting pros just a phone call > away. > >> http://p.sf.net/sfu/theplanet-com > >> _______________________________________________ > >> PyMOL-users mailing list (PyM...@li...) > >> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > >> Archives: http://www.mail-archive.com/pym...@li... > >> > > > > > > > > -- > > Jason Vertrees, PhD > > PyMOL Product Manager > > Schrodinger, LLC > > > > (e) Jas...@sc... > > (o) +1 (603) 374-7120 > > > > > ------------------------------------------------------------------------------ > > The Planet: dedicated and managed hosting, cloud storage, colocation > > Stay online with enterprise data centers and the best network in the > business > > Choose flexible plans and management services without long-term contracts > > Personal 24x7 support from experience hosting pros just a phone call > away. > > http://p.sf.net/sfu/theplanet-com > > _______________________________________________ > > PyMOL-users mailing list (PyM...@li...) > > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > > Archives: http://www.mail-archive.com/pym...@li... > > > > > ------------------------------------------------------------------------------ > The Planet: dedicated and managed hosting, cloud storage, colocation > Stay online with enterprise data centers and the best network in the > business > Choose flexible plans and management services without long-term contracts > Personal 24x7 support from experience hosting pros just a phone call away. > http://p.sf.net/sfu/theplanet-com > _______________________________________________ > PyMOL-users mailing list (PyM...@li...) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pym...@li... > |