[TxMt] Features request: columnar editing mode and fixed/delimiter conversion

Jeremy Dunck jdunck at gmail.com
Thu Jul 21 15:11:35 UTC 2005

My favorite text editor on Windows is UltraEdit, and it has a columnar
editing mode which is useful surprisingly often.

I am pretty sure I understand how TextMate's columnar editing works
(option-arrow to create column selection, then type).  However, having
a columnar mode makes the feature much more useful.

When in the columnar mode, any cursor movement stays in the mode, and
shift-arrow does what you'd expect it to: shift-up/down keeps the same
columns selected but adds/removes the next line while shift-left/right
adds/removes the next column for all lines.  

When you have one or more columns selected, typing replaces the
contents with the character just pressed, but keeps the same number of
Typing with 0 selected columns enters that key on every row.  
Delete removes all the selected columns, yielding 0 selected columns.  
Paste enters the clipboard contents into the first row of the selected
columns, though
honestly, I'd prefer that it pasted to all selected rows.

I think the primary benefit of a columnar mode is the ease of keyboard
selection of the column range.

Additionally, UltraEdit has a feature where you can analyze a
delimited file and automagically convert it to a fixed width file,
which lends itself to columnar editing.  When done, you can then
convert it back to a delimited format.

The two features work together to make it great for editing flat files
of both fixed and delimited flavors.

I'm attaching a screenshot of the fixed scan dialog in ultraedit for
illustration of the feature.
It's not the best designed UI ever, but:
x The current file is assumed to be delimited.
x The scan button analyzes the current file's lines to try to determine
the max length needed for each field based on the options selected
(which are all settings except "Keep Delimiter" and "Field Widths").
x Based on this analysis, the Field Widths textbox is populated with
each field's width.  If you know the widths needed, you can skip the
scan step and just enter your widths in the Field Widths box directly.
x Once you're happy with the Field Widths values, you click Convert to
translate it to fixed width.  The "Keep Delimiter" option determines
whether the original delimiters are stripped from the resulting fixed

The Convert To Delimiter dialog is much simpler (screenshot excluded);
it just takes the last Field Widths used for conversion to fixed, and
slaps on the given delimiter at those lengths.


Sorry for the length, but I think these are very useful features which
could be implemented (with a better UI) in TextMate, and I'd be happy
to see them included.

  Jeremy Dunck
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixed-scan.jpg
Type: image/jpeg
Size: 19776 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20050721/e6969371/attachment.jpg>

More information about the textmate mailing list