On Wed, 29 Sep 2010, Tim Chase wrote:

On 09/29/10 13:07, Benjamin R. Haskell wrote:
I'm dealing with some file formats that have data segments terminated by an arbitrary segment terminator (in this case '#'). Is there built-in functionality for dealing with situations like this?

It'd be nice to be able to treat this like a 'ff'.
ff=unix =<NL>
ff=dos =<CR><NL>
ff=mac =<CR>
ff={anything-else} = custom line terminator

Since that currently doesn't exist, though, is there a plugin to do roughly what that would accomplish?

I don't know of a plugin, but shooting from the hip, I'd be tempted to use "tr" as a filter like xxd[1] is used for binary files:

 tr '#\012' '\012#'

will swap newlines and "#" signs, which can then be reversed upon writing to get the originals back.

Good call. I'll likely set up something similar to the 'hex mode'[1] tip, replacing `%!xxd` and `%!xxd -r` with perl equivs of your `tr` example. (I want to be able to handle multi-character newlines, and I know Perl better than sed/awk.)

I'll wikify it if I get it working nicely.

--
Thanks,
Ben

[1] http://vim.wikia.com/wiki/Improved_hex_editing

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to