I am surprised no one has mentioned emacs yet.
You can do all of what you asked for in emacs. Best of all, if you do not like something, you can change it.
In addition you can enable things like
- code completion (fills in variables names that you have used before)
- electric mode( type if+space and the editor inserts if(){\n} )
- a menu, listing all the subroutines in a script file (its called speedbar).
- the best mode for viewing the differences between two files (its called ediff)
- full perl style regular expression support to search, replace
- cross platform (I use it on windoze, linux, True64 Unix, VMS)
- its GPL'ed (RMS's most famous project)
- an important reason for me is that it provides this support for almost any programming language you can think of. ( As part of work, I have to work on several different languages, but emacs provides a consistent environment. I even get Visual C++ and Code Warrior to invoke emacs to do the actual text editting.)
The cons being there is a small learning curve while getting fimilar with all the features that emacs offers. Most of the stuff is available from the pulldown menus, so don't let that scare you. The other issue was some of the keys are not standard by default, but you can easily redefine them so that the keys work the way they would in a windows based editor.
vim will probably do the some of the above things for you. But I will let a vim worshipper enlighten you about vim
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.