Eclipse supports markers too. Normally you have to go through quite a bit of effort to set a bookmark, but in the 'keys' config you can hotkey these. Eclipse has emacs-esque long key combo support. If you wait for more than half a second or so in between a 'long' combo, a dialog pops up showing you each long combo that starts with what you've been doing so far.
As far as I know, repeat actions aren't supported by eclipse, but I'd be VERY careful about doing that sort of thing in a source file, that seems like a pretty big code smell to me. Frankly, if it's not a java file, I usually fire up another editor to edit it. In fact, eclipse helps here too: You can configure eclipse to open all files that fit a certain pattern (usually *.ext, but you can have others) with a certain editor. You can even change this for a single file and eclipse will remember. About Select Enclosing: How could I have forgotten to mention it! Though, it's ctrl+shift+up and I don't recall changing that key combo here (yes, control, not cmd, on a mac). Another one I forgot is the REPL-esque debugger. On Nov 25, 7:59 am, Cédric Beust ♔ <[email protected]> wrote: > Nice list, Reinier. > > To be fair to emacs, I really like the marks and actually I even use > registers to mark stuff, a feature that probably most advanced emacs users > don't even know exist (\C-xma marks the current location with 'a', \C-xja > jumps there. You have access to 26 of these, obviously). These bindings are > not always enabled on recent emacsen so I usually add them myself in my > .emacs. > > I'm also an avid user of macros to process text files with repeated actions > (\C-x(, \C-x) and \Cx-e to run it, very often many times with ESC 1000 > \C-xe). > > But as you point out, none of these extra facilities hold a candle to the > Java specific features that IDE's offer. > > For example, the advanced mark system is pretty much obsoleted by Eclipse's > "select the next surrounding region" (Command-shift-up arrow, down to go > down). I use this all the time, it's just amazing. You start by putting the > cursor in an identifier, press this key, it select the identifier, press it > again, it selects the expression, press it again, it selects the enclosing > for loop, then the method, then the class. > > Such "Java aware" selection will beat generic text selection any day. > > -- > Cédric > > On Wed, Nov 24, 2010 at 10:48 PM, Reinier Zwitserloot > <[email protected]>wrote: > > > > > > > > > > > That's a logical fallacy, look up "Argumentum ad Populum" (a.k.a. > > "Appear to the People"). > > > I'm trying saying that IDEs *are* unneccessary (That'd be the logical > > fallacy known as "fallacy fallacy" if I did :P), just that the > > "100,000 people can't be wrong!" argument is obviously logically > > worthless. > > > Here's a list of features that I use a lot in eclipse, would be very > > upset about if they stopped working and which, AFAIK, isn't available > > in vi or emacs. If I'm wrong, please correct me! > > > - I can cmd+click on any identifier or type and be taken to the place > > it was defined, even if this is in another source file, and even if > > this is in a library I'm using so long as I associated a source zip > > with the dependency (which I always do!) > > > - On any method or type ref I can hit cmd+T to see a hierarchy of it; > > i.e. I see other versions of that method in the type hierarchy, or if > > its a type, super and subclasses/interfaces/etc. > > > - With a key combo I can search for callers / writers / readers to a > > method / field. > > > - Many basic errors are caught by my IDE immediately, as I type. No > > need to even run a checkstyle or any such thing. I can fix it > > immediately. In fact, often such trivial errors can be fixed > > instantaneously because the IDE knows how. Example 1: I Write "List x > > = whatever;", and then immediately hit a key combo to import > > java.util.List. Example 2: I want to iterate over something but I > > forgot or am too lazy to type the element type. I just type "for > > (String foo : someIterable)", then CMD+1 to fix the type of 'foo'. I > > guess lombok makes this obsolete. > > > - auto-complete. > > > - AST-based rendering (render identifiers differently depending on > > whether they are static or not, a field or a method or a local or a > > param, final, etc). > > > - Hit a key combo to get a search box to find any type visible to my > > current project, even via camelcase if I want, i.e. "ArLi" will find > > me ArrayList ('opening' a type means opening an editor, possibly a > > read-only one if its a class in some library that I have the sources > > of). > > > Being able to copy code around a bit more effectively seems like it > > can't hold a candle to those features. A few of the more advanced vi > > features are actually in IDEs if you know where to look. For example, > > eclipse has marker-based selecting which really is a pretty big deal > > (instead of holding shift to select stuff, you traverse to a point, > > hit 'set mark', traverse to some other point, and then perform copy or > > cut. This means you can navigate in a way that doesn't require holding > > shift. There's also as-you-type search, yank, clipboard buffers, block > > select, hop to matching brace, and if you're serious I believe there's > > a vi plugin that brings modal editing to the standard eclipse editor, > > though you'd have to check it out to be sure. > > > On Nov 25, 6:32 am, Miroslav Pokorny <[email protected]> > > wrote: > > > So if ides are so unnecessary why then did they evolve from yesterdays > > text editor and why does the overwhelming majority of the planet use them ? > > They can't all be wrong or > > > Misguided ? > > > > On 25/11/2010, at 4:20 PM, Josh Berry <[email protected]> wrote: > > > > > 2010/11/24 Cédric Beust ♔ <[email protected]>: > > > >> It's not that simple: IDE's perform some basic cleanup that limits the > > > >> amount of noise that bad developers generate, such as cleaning up > > imports, > > > >> flagging unused variables, checking the style and formatting the code > > > >> correctly, etc... > > > > > What?? Even in environments where everyone is using an IDE, I have > > > > encountered people that do not constantly clean up imports and such. > > > > They leave used variables. They don't format at all, or have a very > > > > unorthodox style. This has nothing to do with the tool, as you can > > > > easily get all of those "warnings" in vim, as well (again, a simple > > > > ":cope" (yes, yes, you could just keep ":cn"ing to the next message.) > > > > after running checkstyle will show all of the ones you just > > > > mentioned). This is completely 100% the developer. To claim > > > > otherwise is just a conceit. > > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups "The Java Posse" group. > > > > To post to this group, send email to [email protected]. > > > > To unsubscribe from this group, send email to > > [email protected]<javaposse%2bunsubscr...@googlegroups > > .com> > > . > > > > For more options, visit this group athttp:// > > groups.google.com/group/javaposse?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "The Java Posse" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<javaposse%2bunsubscr...@googlegroups > > .com> > > . > > For more options, visit this group at > >http://groups.google.com/group/javaposse?hl=en. > > -- > Cédric -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
