Por tekstoredakti Unikode kaŭ Esperante, mi rekomendas na UniRed kaj Simredo!
A couple of new editors to keep an eye on are Neovim, forked from Vim in 2014, and Atom, a hackable text editor.
Editing/textprocessing is a hobby of mine. Yes, I actually enjoy messing around with these utilities, and have written some small editors in Assembler, Forth and C. I testdrive a couple of unfamiliar ones every month. (Well, not so much anymore. Too busy, and there aren't many new and different ones coming out, and I've pretty much settled on Vim, UniRed and awk for most of my work.) I've added some links below for editors that have their own webpages. See news:comp.editors for current info and help.
If you're interested in some good DOS/Windows editors, check out Vim, TDE, and KaiEdit. For unicians and other power users, Vim is the only way to go. It's a greatly enhanced vi which runs on many platforms. Another good DOS choice is TDE, though it is no longer being developed, but see FTE. For Windows 95 and later, I also recommend KaiEdit, a German freeware.
The best editor that I've found, and the one that I use on a daily basis, is Vim. It is a superduper vi that runs on just about anything. These are the textprocessing tools that I carry around with me, just in case, and have installed on the machines that I use...
(If you want to skip this vi stuff, click here to read about other editors.)
Let's see... QED begat ed, and ed begat ex, and ex begat vi, which begat many many many wonderful children like Vim! QED also begat qedx and Sam and FRED! Meanwhile, TECO (TECO!!!) was busy begetting EMACS - furrfu!
These are rather old, there may be better ways for some of them now.
has()function can be used to determine Vim version and operating system. But with the 16-bit DOS Vim there is a problem: though dos16 is a valid argument, the 16-bit version doesn't have +eval, so you can't use
has()to see if you're running the 16-bit version when you're running the 16-bit version! So I created a separate initialization file (_VIMRC16) for the 16-bit version and created an alias for Vim that did a
-u _VIMRC16at startup. But... I later discovered that 16-bit Vim (version 5.6 anyway) treats
ifmuch as Vims 4.5 through 5.0 do; it appears to ignore everything in an if-block. Or, one could say, since it lacks +eval, any expression that it can read without complaint results in FALSE anyway, since it doesn't know how to eval. So my solution now is to wrap
endifaround any code that I don't want 16-bit Vim to see. As Kelly Bundy would say... Viola!
set incsearch, Vim will move the cursor to the first match *while you type your search string*. Type another character, or delete one, and Vim shows you the new destination. Way cool. And if you
set hlsearch, Vim will highlight all occurrences of a match. Very handy during program development.
set backspaceif the backspace/delete key doesn't behave as you'd like.
set rulerjust doesn't work right. Don't worry too much about it. Unless you want to dig into the sources.
filetype offbefore and a
filetype onafter. Setting the value won't have any effect if filetype is on when you do it.
set background=dark; do a
syntax offbefore and a
syntax onafter. You probably need to bounce syntax for other syntaxy and highlighty things too, but that's the one that bit me.
hi LineNr term=none.
:help. Whatever your question, the answer is probably in there somewhere. Sometimes it's just tricky figuring out what to ask.
These are rather old, there may be better ways for some of them now.
Unless otherwise noted, these tips assume you're in Normal mode.
\+means one or more ...
:gis a linewise thing; if you don't append, you end up with only one line, the last one found; but if the file doesn't already exist, append will fail, so that's why you need the
imap ;dd <C-O>"=strftime("%Y-%m-%d")<CR><ESC><C-R>=<CR>
imap ;dD <C-O>"=substitute(strftime("%d %B %Y"),"^0","","")<CR><ESC><C-R>=<CR>
nmap ;de 3cw<C-O>"=EsperantoDatestamp()<CR><ESC><C-R>=<CR><ESC>
imap ;de <C-O>"=EsperantoDatestamp()<CR><ESC><C-R>=<CR>
echoin the keyword commands; I don't remember why, and it seems to work without. If you can figure out why it's needed, let me know. I suspect it was leftover from debugging, and if I was sure about that I'd get rid of it. But maybe I needed it to work around something at one time, a problem with an earlier version of Vim or with one of the machines I'm using. I dunno.) ...
command Restoreiskeyword let &iskeyword = iskoriginal | echo
let Month01 = "Januar"
let Month02 = "Februar"
let Month03 = "März"
let Month04 = "April"
let Month05 = "Mai"
let Month06 = "Juni"
let Month07 = "Juli"
let Month08 = "August"
let Month09 = "September"
let Month10 = "Oktober"
let Month11 = "November"
let Month12 = "Dezember"
let DayNumber = substitute(DayNumber,"^0","","")
execute "let Stamp = \"" . DayNumber . ". \" . " "Month" . MonthNumber " . \" " . YearNumber . "\""
nmap ;dg :Saveiskeyword<CR>:let &iskeyword="a-z,A-Z,48-57,&,;,."<CR>3cw<C-O>"=GermanDatestamp()<CR><ESC><C-R>=<CR><ESC>:Restoreiskeyword<CR>
imap ;dg <C-O>"=GermanDatestamp()<CR><ESC><C-R>=<CR>
F5to wrap some bold tags around selected text, and
F6to wrap some italic tags around selected text. And for those non-HTML occasions, I set
F5to put stars around the text, a common Net convention for textual emphasis, for which I invented the term splatbolding...
autocmd BufEnter,BufNewFile,BufReadPost *.htm,*.html,*.php,*.php3,*.php4 vmap <F5> <ESC>`>a</b><ESC>`<i<b><ESC>`>7l| vmap <F6> <ESC>`>a</i><ESC>`<i<i><ESC>`>7l
(Actually nowadays I use
a somewhat smarter mechanism. By default, it maps the keys
for x-convention (which is, yeah, kinda silly because it's
easier to just type the x; I never use it), but if you
:EONCR 3 it remaps them for Latin 3 and if
:EONCR 8 it remaps them for UTF-8.
(I also use the EONCRCS variable to modify the behavior of my
Esperanto datestamper appropriately, like
this.) (Actually, nowadays I use a keymap
nnoremap ;^G sØ<ESC>
inoremap ;^G Ø
nnoremap ;^g sø<ESC>
inoremap ;^g ø
nnoremap ;^H s¦<ESC>
inoremap ;^H ¦
nnoremap ;^h s¶<ESC>
inoremap ;^h ¶
nnoremap ;^J s¬<ESC>
inoremap ;^J ¬
nnoremap ;^j s¼<ESC>
inoremap ;^j ¼
nnoremap ;^S sÞ<ESC>
inoremap ;^S Þ
nnoremap ;^s sþ<ESC>
inoremap ;^s þ
nnoremap ;^U sÝ<ESC>
inoremap ;^U Ý
nnoremap ;^u sý<ESC>
inoremap ;^u ý
nnoremap ;"O sÖ<ESC>
inoremap ;"O Ö
nnoremap ;"o sö<ESC>
inoremap ;"o ö
nnoremap ;"U sÜ<ESC>
inoremap ;"U Ü
nnoremap ;"u sü<ESC>
inoremap ;"u ü
nnoremap ;"s sß<ESC>
inoremap ;"s ß
See Unix Editors for a wonderful in-depth discussion and comparison of many editors and the features that make them unique and/or useful. Heed the warning about vi: please oh please don't try plain old vanilla vi and think that that's all there is to it. Modern vis offer so much more!
bvi - An editor for binary files using common vi commands, with additional commands for binary search and substitution. Runs on Linux, SunOS 4.1.x, Solaris 2.x, HP-UX, AIX, IRIX, MSDOS. Distributed under GPL, sources available. (Don't forget, Vim does binaries too! But bvi is much smaller and designed for editing of binary files, and also shows byte offsets along the left side of the screen and the ASCII representation along the right side.)
EditPlus - EditPlus is an Internet-ready 32-bit text editor, HTML editor and programmers editor for Windows. Customizable syntax highlighting. Powerful features for Web page authors and programmers: Seamless Web browser for previewing HTML pages, and FTP commands for uploading local files to FTP server. HTML toolbar, user tools, line number, ruler, URL highlighting, auto-completion, cliptext, column selection, powerful search and replace, multiple undo/redo, spell checker, customizable keyboard shortcuts, and more. Price in August 2002 is $30.
Elvis - Vi with some cool extensions like man page display and HTML functionality.
EMACS - A wise man once said that using EMACS to edit a textfile is like using a car to listen to the radio. (Another said that EMACS is a great operating system, but it lacks a good editor.) VI and EMACS really have quite different purposes in life, yet the Holy War rages on. Personally, I'll take VI over EMACS any day for general editing purposes, though it's hard not to like an editor that has ^U, the universal argument, used to execute the command that follows it four times! Still, VI has the dot command, which re-executes the command that preceded it, whatever that was. But not so good when your keyboard has a sticky period. As mine did, once when I hit dd. to delete a line, and then one more line; and then watched my entire file disappear! Fortunately I was using Vim, with "infinite" undo... and a backup file.
Esperantilo - programo por redaktado de tekstoj kun specialaj esperantaj funkcioj, ortografia kaj gramatika korektiloj kaj maŝina tradukado
FTE - Yet another member of the TDE family (that's ETDE, for you Esperantists!). This one adds mouse support and some other things, but is lacking many TDE 4.0 features. However, it's a work in progress and shows much promise. (Work seems to have progressed nicely since I last visited (it's previous homepage)! Looks quite a bit different though, more Windowy. Featureful!)
JED - A powerful programmer's editor, very nice. I haven't used it much, but I liked it enough to add this link so I can easily keep in touch with it. Available for many platforms. Extensible using S-Lang, a scripting language similar to C.
is a full featured terminal-based screen editor which is distributed
under the GNU General Public License (GPL). JOE has been around since
1988 and comes standard with many Linux distributions.
KaiEdit - An excellent freeware GUI editor for Windows 95 and later. Its language is German but the structure and icons are pretty much what you'd expect in a Windows application, so even if you don't know any German (yet!) it's a good choice. It has some of the features of PFE and some other nice ones of its own, and is an active project, so updates appear periodically. Der Texteditor für Windows 95/98/ME/NT/2000!
NEdit (Sourcefourge summary page) - The Nirvana Editor for X Windows
NoteTab - Text and HTML editor, NotePad replacement. Multiple files, system-wide searches, multi-line global replacements, spellchecker, thesaurus, text-to-HTML conversion, document templates, bookmarks, and a simple, power-packed scripting language. Available in three versions: NoteTab Light (free), NoteTab Std ($9.95), NoteTab Pro ($19.95).
Personal Editor 32 - The look and feel of IBM's old PE, brought up to date. Cool! I wrote a lot of code back in the '80s using PE (and later, PE2), which was a very nice editor for its time. PE32 adds much useful functionality.
PVIC 1.0 - Freeware VI clone, derived from STEVIE 3.69B, with source, in K&R C.
SEDIT and S/REXX, from Benaroya
Simredo - Ĝava Unikoda redaktilo. pri versio 4.3: facila instalo por Vindozo, Linukso, kaj Mak OS X - limigita subteno por stilaj dokumentoj (RTF-formato) - konvertado de pli ol 100 signokodaroj al Unikodo - facile uzebla klavmapa funkcio, por ŝanĝi klavaranĝon - subteno por lingvoj kiuj kuras maldekstren, kiel la araba - menuoj kaj mesaĝoj en: la angla, Esperanto, la franca, la greka, la hinda, la soraba - literumilo por la angla lingvo, Esperanto kaj Latino - kriptiga funkcio - rapida vekiĝo, literumilo por Latino, pluraj problemoj korektitaj.
THE, The Hessling Editor - Based on the VM/CMS text editor XEDIT, with features of DOS KEDIT, it uses Rexx as its macro language. Also see Contributions to The Hessling Editor. (There's lots of information about the XEDIT/KEDIT/THE family of editors at Eastern Orthodox Editors.)
UniRed - (UniRed is a unicode plain text editor. Supports many charsets. Syntax coloring. Search and replace via regular expressions. Able to run auxiliary programs, ISpell for example (for spellchecking).) UniRed estas unikoda tekstoredaktilo por Vindozo 95/98/NT/2000. Ĝi subtenas plurajn signarojn, inter kiuj estas: 16-bita Unikodo (pezokomenca kaj pezofina); UTF-8; vindoza sistema signaro; DOS-a sistema signaro (OEM); Latin-1, Latin-2, Latin-3 ktp; cirilaj signaroj: cp866, windows-1251, koi8-r; kaj aliaj. Permesas uzi HTML-stilajn indikojn de unikodaj simboloj. Sintaksa kolorigo. Serĉado kaj anstataŭigado per regulaj esprimoj. Povas kunlabori kun literumilo ISpell, ebligante kontrolon de ortografio en Esperanto, povas voki eksterajn kompililojn, navigi laŭ strukturo de programo ktp. Vidu ankaŭ SourceForge Project Info for UniRed.
VILE - VI Like Emacs, a text editor that attempts to combine the best aspects of Emacs and vi.
vi vi vi - the editor of the beast
|Why, oh WHY, do those #?@! nutheads use vi?|