[maemo-users] [maemo-users] editor

From: Karoliina.T.Salminen at nokia.com Karoliina.T.Salminen at nokia.com
Date: Tue Jan 30 11:51:21 EET 2007

>> But I must say that the first thing that prevent to use the 
>device to 
>> do programm is the lack of a good editor adatpted to it.
>Slightly off-topic and maybe? a little bit flamebait, but I 
>have never found an editor adapted for programming that wasn't 
>a pain to use in UN*X.

You mean graphical editor or text mode editor?
I guess you dislike vi like I do, so here is a list of other editors:
Modern graphical UI:
- kate (KDE text editor, works fine on Gnome, this is my favourite, very
similar to UltraEdit editor on Windows)
- gedit (Gnome text editor, this has nearly the same feature set as
Kate, but some little
things are missing)

Older style graphical UI:
- XEmacs (Emacs for X, with non-standard UI)

Text mode editors:
- nano (small text mode editor which is easy to use)
- nano-tiny (about the same as nano, but smaller footprint)
- pico (looks pretty much the same as nano and is also easy to use, but
not very advanced
for programming, especially easy for those who have used pine text mode
mail program)
- emacs (the traditional editor for linux etc., some people love it,
some hate
it because of the commands being CTRL+X+CTRL+...+..., in my opinion
still a lot more
user friendly and intuitive than vi).
- then there is the vi and vim for those who have different modes in
their brain for
typing and moving the cursor. You can play Kraftwerk-robot with this
Some love vi and some hate it.

>Of the top of my head it should be able to do:
>- Unicode (including double-width characters)

kate can do I guess

>- non-variable width fonts (having a variable width font in 

kate can do that too

>any kind of entry field is an accident waiting to happen)
>- undo

Of course kate has this

>- virtual word wrapping (and I do mean _words_, not wrapping 
>individual characters, like emacs does the latter)

I guess kate does this

>- If the new line after virtual word wrapping is still too 
>long, then insert a virtual linebreak inside it anyway, until 
>it's fitting into the width of the client area

I guess kate does this

>- syntax highlighting (a simple finite state machine dumpfile 
>is enough, ala "joe's own editor")

kate does this 

>- search / replace without 36 random reserved characters 
>(while regexps are nice, being _forced_ to use them is a pain, 
>especially when searching & replacing in a text that is itself 
>a regexp ;))

kate has search-replace which works perfectly to me

>- command line option to jump to line/column number on load

Well Kate don't have this most likely. However, when you
load the text, you can CTRL+G and type the line number where you want
to go.

>- interface for filling extra columns like:
>  - line number

kate has this

>  - breakpoint (modifyable)

you should check out some IDEs if you need breakpoints

>  - misc user-defined flag
>  - line currently debugging on

you should check out some IDEs if you need these

>  - (subversion) blame annotation

you should check out some IDEs if you need breakpoints

>  - (subversion) line last changed on date

you should check out some IDEs if you need breakpoints

>  - line the user is currently on

kate has this

>  - line the other people viewing this file are currently on


>  - and so on...
>- folding of blocks

kate has this

>- virtual concatenation of files (I'd really prefer the 
>_filesystem_ to support that, but...)


>- every time someone writes "." and then pauses for 1 second, 
>call external tool (with all the text on stdin?)  (Intellisense :))


>- every time I press the Newline key in order to create a new 
>line, repeat the leading whitespace from the line I came from 
>on the new line (and I mean, exactly, not expanding tabs, not 
>grouping spaces into tabs, not trying to backstab me, ...)

kate puts indent characters there, which means spaces if the person
to keep the file human readable with any editor / viewer etc.

>- keep the file open while editing, so it shows up inside 
>/proc/<pid>/fd/ (or lsof). No really, nobody's gonna die of 
>that one file descriptor.
>- double-clicking on a word selects it. A word is delimited by 
>one of " )}]>". If one really must make it more complex, 
>ignore (only) trailing punctuation in that selection.

I think kate does pretty well with double click selecting, works about
the same
as in UltraEdit.

>User interface:
>- no (control-..., whatever) key combinations for essential stuff

The standard UI way in all modern desktop environments including Gnome,
KDE, Windows, MacOSX is:
CTRL-C for copy
CTRL-X for cut
CTRL-V for paste
I am pretty sure you want to have the standard CTRL-something keys on

>- no mode-change keys (that means you, vi) (having to change 
>mode 5 times or more in 1 minute is too much) (that does 
>include not having "stuck" keys like Ctrl-K)

kate doesn't have different modes, it is always available

>- have function keys that actually do something (and I do mean 
>like Save, Search, ... and not inserting gibberish into the text ;))

I think kate has this

>- being able to move whereever I want on a line, also within 
>the empty (*cough* "non-existant") parts to the right
>- Ctrl+Click on a word -> call a tool, passing the word, file 
>and position
>- don't destroy the text buffer when the window is resized 
>(some versions of emacs did that)

kate don't have the same set of bugs than emacs does

>Nice to have but not essential:
>- autosave

kate has this

>- backup files (I'd really prefer the _filesystem_ to support 
>that, but...)

kate has this

>- session saving support (remote saving, like the desktop 
>saying "save all now" to all applications so that some "make" 
>process uses the new version of the edited files)

Kate has this

>- usable without X/framebuffer/graphics terminal

Aha, now you wrote this after getting on this mail this far.
kate does not do this since it is graphical text editor
Your choices are very limited with this restriction.

I always use nano when using text mode to e.g. fix xorg.conf when
my unstable Ubuntu installation is broken, but all other occasions,
I use either gedit or kate. Except of course when I am hacking
our EFIS code if Kate (not the editor but the person) has already opened
the file to emacs - she loves emacs, so I use emacs occasionally because
I don't bother sometimes to lauch my own editor - emacs is usable for me
occasionally. However, I am totally vi-impaired, I pretty much quit from
vi with kill-command. 

>_Not_ to have:
>- tabs -> the window manager, not the application, manages windows

kate and gedit has tabs and I love that, that is one of the key features
why I went from emacs to kate / gedit.

So I disagree with this one.

>- multiple buffers -> the process manager, not the 
>application, manages processes

this is another feature that I want to *have*, couldn't live without

So I disagree with this one even more.

>Hm, maybe with a little evil hacking I can get GtkTextView to 
>support most of that... I wonder... (the folding of blocks is 
>something that will hurt to implement, though...)

kate has this feature and I love it and use it frequently
I use a mixture of desktop enviroments which usually means
Gnome desktop with some KDE apps that are currently 
missing from the Gnome desktop.

Best Wishes,

More information about the maemo-users mailing list