http://www.slickedit.com/ Over the past few years, I've found this to be the best all-around programmer's editor for the Windows platform. I love it for its Emacs-like malleability, and the way its focus has been firmly kept on being a "programmer's editor" to the exclusion of everything else. Its performance, especially on multimegabyte files, is absolutely remarkable (global search/replace done in a few seconds on a 5MB files is quite common); no other Windows editor or word processor that I know of even comes close. The only thing I don't like about it is the internal language (Slick-C) being a crufty C clone. I'd like to hear from other users of this fantastic editor; it '''must''' be at least somewhat popular to have been around all this time, but I've rarely (if ever) seen mention of it in newsgroups, mailing lists, or on Wiki. While I'm at it, I would also like to ask if people know of other editors (Emacs excepted, of course) which satisfy the ideals that I see fulfilled in SlickEdit, and the one that I don't : that is, a lightweight, blazing fast pure-text editor with an embedded programming language which has access to all of the editor's internals (so that absolutely every aspect of its behaviour can be reprogrammed if you so wish) - '''and''' that language is a modern O-O language such as Smalltalk. -- LaurentBossavit [just saw this page on RecentChanges] I like SlickEdit a lot. I've been using it since 1996, I think. I bought the Linux version last year, because as much as I like '''vim''' I haven't found anything to quite compare with what I can do with SlickEdit. Oddly, I use macros in SlickEdit less - far less - than I did when using Brief under DOS many years ago: even though / or despite using SlickEdit in Brief-emulation mode. SlickEdit has a couple extra features that make almost everything I used to do with macros easier in a couple keystrokes. I'll try to explain my favorite SlickEdit features: Basically it seems to be a combination of - * Virtual edit space: can move the cursor anywhere, regardless of literal line lengths * Column cut & paste: Yes! But it's a couple other features that tune this into perfection... * Pasting a Cut or Copied column (even a columnar-selected portion of a single row) positions the cursor '''down and under''' instead of '''across and over''' as in a normal block-paste. (This is '''huge'''!) * Tab and shift-Tab text alignment conform to column selections. * "Fill" selected area with character--including columns. * Delete selected area - including columns. ''Can you explain the 'down and under instead of across and over' more? Also the column text alignment feature?'' I think this covers a significant part of the extreme power over other editors - which, those I'm familiar with don't stand a chance. Which is probably hard to believe at first read. It really took me a couple years to learn how to exploit this feature set. It's extremely powerful - way more so than it probably looks or seems to amount to in description. You should see me editing someday. Kindof like programming in Perl the way it makes its particular domain so malleable and drastically rearrangeable-at-a-whim that other editors/languages just seem hopelessly overburdened (or unhelpful) at performing these particular domain tasks. . . . A few more SlickEdit features I like / or depend on, off the top of my head: * Search & replace conforms to column selections. * Sort-on-selection. (columnar-selections too of course) * Search & replace support full Version 8 regular expressions. * Badass Hex-editor view of files. * Agreed with Laurent on SlickEdit's facility with multimegabyte files. * . . . -- BillKelly ''Could you explain points 1 and 2 a bit more?'' To illustrate why I love using programmable editors : I recently noticed I was doing a lot of extra manual work when I used Tab to align text to the next tab stop within a line, as opposed to moving multiple lines. The 'standard' behavior of Slick is that if you have no text selected, and you type Tab, it (naturally) inserts a tab; if you have some text selected, Tab moves it to the next tab stop, whether the selection was multiline or just some text within a line. However, I'm often faced with the following situation: I have one local variable, declared for instance as String customerName; and I'm adding a second variable, e.g. String customerName; Hashtable customerState; Now, when I have multiple variable declarations I like the variable names to line up, like so : String customerName; Hashtable customerState; which makes the names and the types more apparent and easier to read. The problem with Slick's standard behavior is that it differs from the standard behavior of Windows edit controls, which is that you select the space between words, type Tab, and the Tab replaces the previous selection. Of course the Windows edit control doesn't move text to tab stops when you type Tab for multiline selections, but I wanted to have the best of both worlds - the Windows behavior when editing within one line, and the Slick behavior when moving multiline selections. With any other editor I know of, I would have been stuck; I would just have had to grit my teeth and get used to first hitting Del to remove the space, then Tab to insert the tab. With Slick, I was able to open the source files for the standard editor macros (clipbd.e and stdcmds.e), and code in the behavior I wanted. As I mentioned, the only problem with Slick is that the language (and some of the built-in function library) is bletcherous; one thing I'd like to do, for instance, is write RefactoringBrowser functionality for it, but I don't want to even consider giving a thought to the possibility of attempting to think about implementing that in Slick-C. -- LaurentBossavit ---- I don't know SlickEdit, but if someone is looking for a lightweight pure-text programming editor for Win32 platforms, consider TextPad from http://www.textpad.com. It is $27 shareware. Global replacement: 10MB, 9000 replacements, <0.5 sec, (Athlon 750). -- HelmutLeitner But, it seems, not programmable - which basically means, in my book, that it isn't a '''programmer's''' editor... -- LaurentBossavit That's right, It only has macros. But on the other hand, it has: document types (you can define them by giving a list of extensions), configuration relative to document types, configurable syntax highlighting (e.g. for my variant of SGML), workspaces (any list of files), global search/replace with regular expressions (all files loaded), ... ---- Vim (http://www.vim.org) has natively a rather cumbersome extension language, but you can compile it with an embedded Python interpreter, a Perl interpreter, etc.. Python definitely counts as a "modern O-O language". -- StephanHouben ''[VIM specific information moved to VimTextEditor.]'' ---- ''Speed'' is also handy on older, slow PCs, which have, say, Windows 3.1, for which SlickEdit is not available. ''Any suggestions?'' ---- I used SlickEdit at my first job out of college, and I haven't been able to find anything like it since. I managed to convince a manager at my current work to purchase it for me, but the culture is definitely one of "why do you need this? Won't Visual Studio work for you?" My current project likes to use CodeWright, which at first glance, and if you haven't used something on the order of SlickEdit, ''seems'' okay, sort of a sheep in wolf's clothing. It touts: * '''Project structure / groups''' - unfortunately, there is a 'project space', a 'project', and a 'workspace'. You can't have a project that isn't a part of a project space, and the configurations for project spaces and projects are nearly identical, which leads you to wonder why have two different names and files for seemingly identical concepts, and then ''require'' you to use both when you only need one. * '''Integration with RCS/SCC/VC tools that conform to SCC API''' - unfortunately, the editor seems to want to associate ALL projects with one source archive, regardless of the fact that I work on several distinct, independent archives. ''Update: I figured out what I was doing wrong on this point, so now different projects are associated with different archives. Still, it was extremely nonintuitive and led to a lot of frustration. -- sbb'' I know I'm forgetting many things, but I've found nothing but frustration trying to use the tool. And it's not because I'm so ingrained in the way SlickEdit does them. Indeed, I hardly use most of the capabilities of SlickEdit, but that tool just ''feels'' right. Kinda like the difference between holding an SK wrench as opposed to the cheaply made wrench you get at the corner hardware store. -- ScottBissett ---- I really like UltraEdit so much, I registered (bought) it. http://www.ultraedit.com/ Lots of smart language-aware formatting features. For C, has a handy window pane listing all functions, kind of like the Dev Studio Class-View. Also loads binary files, with hex editing. -Steve in Atlanta ---- ''They say Visual Slick Edit is a "programmers dream". They being the authors of course. Others say it is yet another weak partial implementation of emacs :)'' From a brief stint playing with it (I don't do much win32), comments here, and comments elsewhere - it seems to me that SlickEdit is an underpowered emacs replacement. Is this not true? Since emacs has been available on win32 for ages, why did you choose SlickEdit over it? Am I missing something? ''Possibly - SlickEdit now claims support for C++ refactoring . I'm an Emacs user myself, but if this works, I'll probably switch.'' ''WhyNotUseEmacs''? ---- Well, I haven't used emacs much, so take what I say about it with a grain of salt. But here are of couple of the more important differences I see between SlickEdit and emacs: * Ease of use: It just seems to me to be a lot easier to use SlickEdit than emacs. It's a lot easier to figure out how to do simple things (like moving the cursor around). I don't have to make a conscious effort to remember what keybindings are... with emacs I eventually mastered a fair subset, but it took effort and continuous practise to remember them. Mostly it's because SlickEdit has a really good set of cua keybindings that I find it easy to use. Either cua is much easier to use, or I've just got used to it over the years from using all those mac/os2/windows programs. The emacs keybindings are... well, let's just say, 'unique'. ''Emacs has support for the standard arrow keys right out of the box - a friend of mine (who's since stopped using emacs) never even bothered to learn C-p, C-n, C-b and C-f since the arrow keys worked so well. (I do use the special keys, however - I touch type and don't like having to move my hand.)'' * Find definition/Find references: This is, far and away, my single favorite SlickEdit feature. Just place the cursor on a symbol and press Control-. and SlickEdit takes you right to the definition of that symbol. Control-/ instead takes you through the list of places where that symbol is used. This saves me loads of time; before I discovered SlickEdit, it'd do this kind of stuff by hand, with grep (much more klunky). Emacs has nothing like this AFAICT. (ps: it would be pretty easy to add this feature to emacs; cscope is just begging to be integrated with a powerful editor like emacs.) The above emacs comment is a bit of a hyperbole. See for example (cscope.el, ascope.el, xcscope.el, xcscope+.el) cscope-find-this-symbol() and "n" for next and "p" for previous options. ''Use etags.'' I agree with the above that emacs and SlickEdit seem pretty similar overall. SlickEdit has the same 'Gee, I can do anything with this' feeling that I briefly glimpsed when I was trying to learn emacs, long ago. Can you please tell me why you think SlickEdit is underpowered with respect to emacs? I see them as roughly comparable. (But then, I really don't know much emacs.) Please, tell me what '''I'm''' missing. Can you read your email wiht SlickEdit? Oh, and by the way, SlickEdit isn't just a win32 thang... versions for other platforms are available too, including most popular unices. --- FYI, Emacs does have the ability to jump around with tags (which is why I originally learned it). You build a tags file with etags. Then you can jump to any definition with M-., and it is stack based so you can pop back with M-*. You can search all tagged files, search-replace tags, make the definition pop up in another window, and all kinds of other nicities. If there is one thing Emacs does pretty well out of the box it is tags. ---- I move between sites fairly regularly and find that I have to learn a new editor on each. The system admins insist that you use the 'site standard'. I have just met SlickEdit and find it a joy to use. It is a visual GUI based editor which means basic editing is a breeze. 10 years ago I was using Emacs and found it good but I have started re-learning it and find I have trouble doing the basics. A facility which I use a lot is the SlickEdit's tagging to track the use of variables and functions through the code. It also drops a book mark onto a push down stack so you can 'pop' back to where you came. I have started looking for an Open Source or GPL equivalent. Does anyone have a suitable set of macros for emacs? John - Swindon UK ---- You might try Multi Edit as well. Very similar to Slick Edit. I moved to Slick edit From Multi Edit when I found that most of the things I had written macros for in Multi Edit were already available in Slick Edit. John - Balitmore MD ---- SlickEdit is by far the best editor. I have used VIM and emacs for a long time, but I have switched to Slickedit about 2 years ago. There is nothing that emacs can do that Slickedit can't. I will say that emacs has a better user support, but Slickedit has better company support. Also slickedit feels more modern than emacs did 2 years. There is only one problem with Slickedit right now. No OSX port yet. Slickedit says that it will be a year, which really sucks since I just got a new Powerbook. John ------- I've been trying to get comfortable with SlickEdit for a year. The original goal was to consolidate the various IDE's and tools to one good editor. After a lot of debate I chose VSE. One consideration was, being a former *nix guy was I wanted an editor that worked on most platforms including Linux. And VSE will emulate emacs, vi and many other 'personalities' including CUA. As observed, SlickEdit suffers from a lack of documentation, discussion boards, or any other knowledgeable source I've been able to find. And the company seems to be rather indifferent about this lack of information for new folks. If I just programmed in the Windows environment, I'd choose UltraEdit ($30 for UE; $300 for VSE!). I've contacted the author of UltraEdit on occaision over the years and he has always been very helpful. Rowland -------- I too have noticed the inexplicable lack of manuals, references or tutorials to SlickEdit and its language. I've been using it for a year or two, and only recently have begun to use the macros. In my search for information I discovered this forum ( http://www.lazyhacker.com/slickedit/forum/ )which has had some decent action in the past, and this one ( http://sourceforge.net/projects/slick/ ) which has not. Any pointers to new SlickEdit discussions or info would be greatly appreciated. slickedit-shimona at sneakemail.com Shimona - San Diego, CA -------- What do you all make of SlickEdit's claims that this is the only tool to support C++ refactoring? ---- VSE is a very nice editor, especially for those who grew up on IBM's Professional Editor (PE) or internal editors like E3. Very logical keyboard mapping + powerful macro language. -- RonPerrella ---- CategorySoftwareTool, CategoryTextEditor @Shimona There is an active forum maintained by SlickEdit itself. You can post queries, macros, view the archives for tips, problems, solutions, etc. Any question you have is answered fairly promptly either by one of the SlickEdit staff or a friendly user. It's located at http://community.slickedit.com As far as Slick-C is concerned, yes, it looks a mess and the codebase (which you can browse freely) looks a mess. But Slick-C was invented before the days of dynamic scripting languages and continues to evolve. I'm sure they'd have done it different if Python or whatever had been around then. Yes, the documentation pretty much sucks but not for lack of quantity - it runs to well over a 1000 pages. The problem is the inconsistent syntax, erroneous documentation, badly written documentation, incomplete documentation and a lack of a graded set of tutorials to lead you into mastery of the language. You can spend/waste a lot of time trying to learn it - most of the time goes into trying to find the function you need or why your code isn't working, to the point of exasperation. The learning curve is very steep. However, if you are prepared to invest the time, you will end up with a power editor like no other. It's fast and it's incredibly flexible. Once you're hooked on it, it will be very hard to go to back to another editor/IDE. (Yes, SlickEdit has a lot of built-in IDE functionality too. Depending on your language you can compile, build, manage, grep, regex, unit test and debug without ever leaving the SlickEdit environment.) ---- I also have been using VSE since it was a wee tike (i.e. an internal IBM tool from e -> e2 -> slick -> VisualSlick) and have tried to wean off of VSE to emacs and/or vi/vim/gvim but always return to VSE. Has anyone found a set of emacs macros to get emacs to behave more like VSE? Want to switch to emacs because I have a very old version of VSE and like the fact that emacs is GNU -- EdL -- ----