The Tabularize plugin for vim can do exactly what you want. It comes down to typing Tabularize /:
This will probably not keep the indentation on the left however.
Edit on your updated question:
I was not able to do that with Tabular directly, but I was able to do this with a second command, which is a search and replace on a range:
:%s/\([ ]*\)[[:alpha:][:punct:]]*[ ]*/\0\1/
This searches for a certain amount of spaces in front of the :
, and pastes them just before this semicolon.
The explicit goal of the GNU project is to provide a complete open source/libre/free operating system.
Are there any GNU distributions which use only these packages -- i.e. a "pure" GNU operating system that runs on only GNU packages?
There is a reference here to an official sounding GNU binary distro based on Hurd which "consists of GNU Mach, the Hurd, the C library and many applications". It may or may not be currently maintained, however, as I couldn't find any other online references to it. But it does sound like it fits your criteria.
I'm not particularly interested on whether this would be a practical operating system, just if it's theoretically possible to run GNU Hurd with purely the GNU packages.
The answer to the previous question implies an obvious answer WRT Hurd. Of course, it might help to define more precisely what would count as a reasonably complete "operating system". I'll provide two definitions:
A collection of software sufficient to boot up to a shell prompt.
A system which fulfills POSIX criteria. This is essentially a stricter version of #1, since the highest level mandatory entity in a POSIX system would be the shell.
This is a little arbitrary, since an operating system designed to fulfill some special purpose might not need a shell at all. However, in that case it would become a more specific question about the nature of the "special purpose".
In any case, the answer is yes, although GNU's implementation of some things may not be 100% perfectly POSIX compliant (and there are a handful of required utilities, such as crontab
, which GNU doesn't provide). Here are the potential components:
- Kernel (Hurd)
- C library (glibc)
- Essential utilities (GNU core-utils, etc.)
- Shell (bash, which is a GNU project)
I did not include a bootloader, since that is not part of the OS -- but in any case grub
is also a GNU project.
Best Answer
Looking through the man page for
indent
and the official GNU documentation I only see 2 methods for controlling this behavior.The environment variables:
I tried various tricks of setting the width to 0 and also setting the SIMPLE_BACKUP_WIDTH to nothing (
""
). Neither had the desired effect. I think you're only course of action would be to create a shell alias and/or function to wrap the commandindent
to do what you want.Example
Then when I run it:
I get the desired effect: