In search for the perfect editor?

Lord Banshee

Golden Member
Sep 8, 2004
1,495
0
0
I been looking for the perfect editor for a while now trying many different ones (free ones).

I work 98% of the time with SystemVerilog code and C code.

So maybe you guys can help with the features i am looking for.

1) Column Mode (set/unset)
a) zero width selection
b) inserting text on multiple lines at once from selected vertical cursor
c) paste along vertical selection (copy word, select vertically lines 1-3, paste will result word being pasted on lines 1-3).
d) you can start typeing anywhere (does not matter where whitespace and eol are)

2) Copy column text pastes as column text at cursor

3) Insert(overwrite) mode with column inserting

5) Linux Bin, would be nice to run in windows too.

6) Syntax Highlight

7) Editable Syntax Highlight files, extension determined, can override on the fly.

8) No problem with large file > 10,000 lines

9) Hex mode (not that important)

10) editable matching braces (greater than a single character) (verilog begin end for example).

11) working from network drive file, should not lag editing another thread should check every so often to see if file is changed and promoted if so.



The best ones i was able to find that meet most of those are the following

1)Crimson Editor (after making some source code additions for the column editing additional functions to match 1-3 perfect). Is very slow with large files and only for windows :(

2) Jedit - buggie and laggy gui (java program) but other than that it pretty much fills my needs

3) MadEdit - most features.. but very buggie and laggy (more so than jedit)

4) Co-Worker bought SlickEdit, but it still does not do all of number 1 and it costs a couple hundred.

5) gVim is OK, but it only has very basic column editing ability. As an HDL programming column editing is my most used feature.

Anyway else know of some good ones that meet most of those features?
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,700
4,661
75
Well, I've never seen column editing before, so my opinion may not mean much. But there are a couple of other ways of sort of doing column editing in gVim that you might find useful.

1. Apparently you know about Ctrl-V or Ctrl-Q, followed by selection, either c, I, or A, typing, and the Esc key.

2. Do you know about macros? To paste on multiple lines, for instance, you can do "q", a letter to record the macro into, paste (clipboard paste requires the weird keys '"', '+', and 'P' (uppercase)), cursor to the point on the next line where you want to paste again (or if your lines have variable-length ends, note the cursor position you started at and try "0", the cursor position minus one, "l"), "q" to finish the macro; then enter the number of other lines to do it on, "@", and that letter you selected earlier.

Copying an entire block to another location could be accomplished by a macro recording copying a line section (y (length-1) l), going to the destination with some movement commands (try Ctrl-F or Ctrl-B, but don't use g), going to the destination line position (0 (position-1) l), pasting ("p"), and returning to the line under the original line (motion commands followed by 0 (position-1) l). It's convoluted, but it should work.

3. Personally, I'm all about regular expressions. To change "Value=" to "Value=True" on 10 lines, I would do ":.,.+9s/Value=/Value=True/".
 

Lord Banshee

Golden Member
Sep 8, 2004
1,495
0
0
Yeah gVim is nice that it has many customized methods to do stuff. But when other programs are as easy to drag your mouse and type it makes even thinking about doing macros/regex for the same thing just seems over complicated. Maybe it has to do with growing up on Windows and windows based application.

The one thing i hate about gvim's column edit is that you MUST have whitespace or characters to select a column. You can not select past the end of line. Another thing that is weird about gvim is that the Windows version has major lag (typeing) when working on a networked file (if connection isn't the fastest). I've turned off all backup methods and even turned off checking for update files made only a slight difference. It is like the buffer was not completely in the RAM.. Terrible experience with the windows version.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,700
4,661
75
Originally posted by: Lord Banshee
...Another thing that is weird about gvim is that the Windows version has major lag (typeing) when working on a networked file (if connection isn't the fastest). I've turned off all backup methods and even turned off checking for update files made only a slight difference. It is like the buffer was not completely in the RAM.. Terrible experience with the windows version.
GVim likes to make a swapfile on the same drive as the file you're editing. You can turn it off with ":set noswf" and see if that makes a difference.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,700
4,661
75
To avoid the whitespace problem, you could do:

:set nowrap
:%s/$/[a bunch of spaces]/

That would put a bunch of spaces at the end of every line, and prevent wrapping, so you could put your cursor anywhere.

Note that the :set commands can be entered in C:\Program Files\GVim\_vimrc or C:\Program Files\GVim\_gvimrc if you want to make them permanent.