When I first tried pedit I was rather unimpressed. It seemed to go out of its way to break as many of the familiar user interface rules of PalmOS applications as it could. Unfortunately at that time I didn’t try it with a keyboard and so didn’t appreciate what the application was really about.
Having returned to it armed with a keyboard and some serious text processing needs my views have changed dramatically.
The built-in Memopad fulfills most people’s needs, however it has major limitations when it comes to large amounts of text processing. For example documents are limited to 4 Kbytes and there are none of the more advanced facilities, like word count or global replace.
While Memopad is fine for its intended purpose, pedit is much more ambitious - it sets out to be as functional as a desktop programmer’s editor.
The pedit family consists of four versions of the text editor:
- pedit04 is a replacement for Memopad and is limited to text files of up to 4 Kbytes. These files are compatible with Memopad.
- pedit32 has exactly the same facilities but allows the editing of text files of up to 32 Kbytes. These files cannot be edited by Memopad, however.
- peditPro combines the two allowing both types of text file to be edited.
- Finally there is peditLight which is a smaller footprint version of pedit04 but with fewer facilities.
All versions are much more powerful than the built-in application.
Why is pedit04 needed if pedit32 can edit text file of up to 32 kbytes? It revolves around how documents are stored under PalmOS. pedit04 stores its documents in the Memopad database and they are synched to the desktop with the normal Memopad documents. This means pedit04 has to limit documents to 4 Kbytes. On the other hand pedit32 uses its own database and so loses the compatibility and so its documents are not accessible through the Palm Desktop in the same way as Memopad and pedit04 documents.
This isn’t really a problem since there is a range of third party utilities for extracting pedit32 documents from the Palm backup. I’ve been using peditDesk, which makes it very easy to select a pedit32 document and drop it into Wordpad. It’s a DOS program, but don’t be put off by that - it has a very easy to use graphical interface.
When you first start pedit it displays a file selector similar to Memopad’s. The most noticeable difference is a tool bar along the bottom of the screen. pedit makes extensive use of these toolbars, known as buttonPanels. A button can be selected by tapping it with the stylus. Alternatively an escape character can be typed, followed by the first character on the button. This makes it very easy to use the buttonPanel from a keyboard.
I configured pedit to use the back-tick as the escape character, since
it is convenient to type and its not a character I used much. So to
select the [Recent] button on the buttonPanel using the Palm keyboard I
`r (back-tick r). All the pedit buttonPanels use this system
in a consistent manner - meaning that you never need to pick up your
stylus when editing with the Palm keyboard.
In addition to the standard file selector’s functions pedit adds the ability to import DOCs, transfer documents between pedit04 and pedit32 and select from a list of recently accessed files.
Personally although the enhancements to the file selector are powerful, I found the choice of navigation keys a little unintuitive - cursor-up goes to the previous page of files, rather than the previous file. Its actually backspace to move to the previous entry in the list. There is perfectly logical reasoning behind doing it this way, but it just doesn’t feel natural to me.
Another option on the file selector toolbar is ‘myNotes’. This can be configured to always edit the same document, regardless of which category it is started in. It can automatically move the cursor to the beginning of the document and insert a timestamp, making it ideal for keeping a daily journal or log.
When you create or start editing a text file pedit displays the file in a similar format to Memopad, apart from a buttonPanel, containing 24 small buttons along the bottom of the screen. The buttonPanel provides quick access to many common functions, including:
- Cut and paste
- Jumping around the document
- Find and replace
- Word count
- Case changes
- Document backup
- Application and document switchers
The buttonPanel provides excellent ergonomics - it is quick and easy to use via the stylus, or the keyboard. There are also numerous other functions accessible via the drop-down menus.
Everything you would expect in a top of the range text editor is here
and each of the functions is rich in features. Take find and replace for
example. Clicking the [F] on the buttonPanel or typing
ESC f (where
ESC is whatever escape character you have configured) displays the
“Find ‘n’ Replace” dialogue. You can type in a search string of up to
255 characters, but you can also pick from a list of previous search
strings, or load a previously highlighted selection. The search string
(and replacement text) can include carriage returns and tabs in an
intuitive manner, something I frequently find frustrating, or
impossible, with desktop editors. Searches can be set to start from the
top of the document, wrap round from bottom to top and ignore case. But
the best feature of all is that you can specify the target using regular
The eyes of most technies will light up when they see the “RegEx” checkbox on the dialogue. For the uninitiated they are like wild-cards on steroids. There isn’t space in this review to explain Regular Expressions, but here’s a few simple examples:
^frogwill find ‘frog’ only when its at the start of a line,
frog$will find ‘frog’ only when its at the end of a line,
(frog|toad)will find the next occurrence of ‘frog’ or of ‘toad’,
to.dwill match ‘toad’ or ‘told’ or any similar string with any character at position 3,
to[adl]dwill match ‘toad’, ‘todd’ or ‘told’ only, while
to[^d]dwill match ‘toad’ and ‘told’ but not ‘todd’.
And it can get much more complicated than that! A RegExpert can do amazing things with an apparently meaningless string of random characters. Anyone with background in Unix or Perl is going to love pedit for this facility alone.
One of the best things about pedit is that it is so rich in features that I keep finding new functions I wasn’t previously aware of. For example, while writing this review I found that the “Find ‘n’ Replace” dialogue had its own menus that allows the list of recent search targets to be sorted or cleared.
The “pedit absolute jumper” dialogue is also worthy of mention. It provides 28 different ways of jumping around the document, and each can take a repeat count. So, for example, you can:
- jump back 3 sentences,
- jump forward 4 lines,
- jump to 75% of the way through the document,
- jump to the top left of the screen,
- jump back 7 linefeeds,
- jump to a previously set marker
I was a little disappointed that there is only one marker that can be set in the text and later jumped to. But pedit is scriptable and there is probably some devious way of achieving this that I have yet to discover.
At the beginning of this review I described how different versions of pedit could handle up to 4 Kbyte or 32 Kbyte documents. This wasn’t quite true. pedit can use ‘segmented’ documents which are stored in multiple files. For example although this review is currently over 8 kbytes long, I’m editing it in pedit04 which has split it into four individual files.
You can force pedit to start a new segment, for example for the start of a chapter, or you can let it switch to a new segment when the current file reaches 75% full. Most functions work across multiple segments but there are some disappointments. If a marker is set in one segment and you move to another segment you can’t jump back to the marker. Even if you manually navigate back to the segment you’ll find the marker has gone.
While segments are not seamless in operations, even a little clunky in places, they do allow documents of any size to be edited with either pedit04 or pedit32. Most operations do work as expected across segmented documents.
I have been using pedit on a Vx and found that some functions of pedit32 slow down dramatically by the time the document has reached about 15 Kbytes. This noticeably effects cursor movements - once the document is up to 32 kbytes each cursor movement takes about a second making it necessary to keep stopping to allow the display to catch up.
Switching to segmented documents in pedit04 avoids the drop in performance with only a minimum of inconveniece. The Vx is quite sluggish compared with modern machines and I don’t expect that the slow-down is an issue with the latest hardware.
There are a few other rough edges in pedit - for example go to the recent memo selector and it doesn’t seem possible to select one for editing using the keyboard alone. Again there are times when the cursor is at the end of the line when it takes four or five stabs on the left cursor key to get it to move.
But these minor inconveniences only stand-out because the rest of the package is so slick and professional. pedit is evolving all the time and the developer runs a very lively Yahoo forum where users can discuss the editor’s development. So any real problems tend to be fixed pretty quickly.
The pedit family of PalmOS text editors are an acquired taste, but they provide a range of text editing facilities second to none on the PalmOS platform. This review has only scratched the surface of the pedit family’s capabilities. Anyone who wants to do serious text editing on the PalmOS platform should invest a little time exploring pedit, they won’t be disappointed. Those with technical leanings or a background in Unix or Perl will feel immediately at home.
pedit 6.65 is shareware with prices from $9 to $32 depending on version.
- Very powerful facilities for a PDA text editor
- Macros, grep, segmented large document handling
- Ideosyncratic user interface is very efficient
- Excellent support forum
- Can be intimidating for non-technical users
- Comprehensive manual is hard-going for beginners
- Ideosyncratic user interface