Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

IntelliJ shines when you use the command pallet, keyboard shortcuts, and IdeaVIM

Double shift, to bring up the pallet, and start typing. Though it also have a ton of shortcuts, and shortcuts can be assigned for almost every command.

Try this: https://plugins.jetbrains.com/plugin/9792-key-promoter-x/

Whenever you don't use keyboard shortcut for any action, this suggests you the available keyboard shortcut.





IntelliJ is an amazing feat of software engineering, there's no denying that. I'm not saying that to make you (or any other WebStorm/Pycharm/etc. user) feel better - I know that from years of dedicated use.

I just want to share my anecdotal, personal story. I used IntelliJ professionally for almost a decade. I learned some advanced and undocumented features. I've collaborated with Jetbrains team members to help improving the features. It felt like I work for them. I still occasionally receive YouTrack notification emails for the bugs I posted circa 2009, that are still not fixed today, btw.

IntelliJ is to blame for why my transition to Emacs took me two years - I carried the fear of investing too much into a new thing. I feared of liking it, and someday not finding some features I was so attached to in IntelliJ. I was scared that I will be intellectually and emotionally "locked in", while I was already vendor locked-in and condemned to be using IntelliJ forever.

I was so wrong - not only have I found everything I needed, and more, I have developed a true hacker's mindset. Honestly, the only regret I still carry today, even after years of Emacs use, is that I did not attempt to learn it sooner. I no longer experience FOMO - I can easily pick up IntelliJ whenever I want again, I just haven't found a real, pragmatic reason to do so. In fact, I do fire it up on occasion, just to get the feel of how things evolving there, to steal some good ideas, etc.

> and IdeaVIM

Gary Bernhardt famously said - "There's no such thing as vim-mode". And to the degree, he was right - pretty much every editor/IDE that tries to integrate Vim features invariable ends up having glaring deficiencies. IdeaVIM is good enough, but only to the point - for an expert vimmer it may feel annoying. VSCode vim experience is similar, and Sublime as well - there's really no good comparison between them to say which one is really "better", they all have a spectrum of weird, quirky behaviors. There's one notable exception - Evil-mode in Emacs is fantastically good - sometimes you even forget that it's not a built-in feature, but a third-party extension, an afterthought.

> shortcuts can be assigned for almost every command

In Emacs, you can bind keys to anything, conversely - everything is a command - every keypress, every mouse click and mouse-scroll. And since Emacs is inherently a modal editor, you can do stuff like binding commands to a double, triple, etc. keypresses. Like for example, when I'm typing fast, to autofix most recent typo I'd just tap comma twice - this is just one example of unbelievably fast way to stay focused.

Most devs, once they find their favorite tool would settle with it and don't even explore other options. "I don't have time for that.", "I don't want to be building my editor", "I am already so good with what I have, why?", they would say. My suggestion is to always stay skeptical of current choices and curious about unknown. It's not the concrete implementations, but rather abstract ideas that may grant some surprising and unexpected benefits.


No issues here, except for you being an Emacs user :D

> IntelliJ is to blame for why my transition to Emacs took me two years ...

It was a bit opposite for me, I jumped around so many editors, and, then I fell in love with VIM, spent so many hours to get the config that meets my need, dissed many Emac users. And, now after many years, as I grew, I realized, these are tools, and at the end, it's all on the user who makes it click.

I use both IntelliJ and (n)vim almost side-by-side, every day, when I am on my main desktop, I am on IntelliJ, when I am connecting through ssh, I am on NVIM. I use NVIM, because it's LSP, and treesitter's highlight is really good. But in any other case I am using VIM. I even wrote this reply on VIM.

I could make VIM work like NVIM, sure, but does it worth the trouble, when I can just use LazyVim? nah ...

> Gary Bernhardt famously said - "There's no such thing as vim-mode ...

True, most of the software can't replicate how wonderfully VIM works. I have had my moments with IdeaVIM, and resorted to VIM, but, again, there are things that IntelliJ does so good, and IdeaVIM scratches a vim sized itch. IdeaVIM makes IntelliJ more useful for me.

And, with these tools together, I can get a lot done, where it would be too inconvenient if I was doing it in VIM, or too annoying if I was doing it in IntelliJ without IdeaVIM.

> In Emacs, you can bind keys to anything, conversely ...

Certainly, you can be faster with keyboard, and It is possible to do the same with IntelliJ + IdeaVIM. Additionally, with IntelliJ, I can quickly navigate my database, write queries, or manage Docker containers without going to another terminal or app. Not having to change window/app is extremely helpful for me to stay focused.

And, I have not found any cli based db tool that is as good as IntelliJ's one.

> Most devs, once they find their favorite tool would settle with it and don't even explore other options ...

True, I used to encourage people towards VIM, converted one or two, but at the end, I realized, it's their choice, and some might even have good reasons for their choice.

I can show them the magic, but it's always their decision to pick it up.


> No issues here, except for you being an Emacs user

I am a die-hard vimmer. I just one day woke up and realized that Emacs vims better than Vim. Seriously though - it's not about concrete implementations, it's all about the [abstract] ideas.

I use vim navigation everywhere - in my editor, my browser, my terminal (I use nvim too), my WM, remote sessions. I control my music, video-playback, app switcher - all, using mostly just home row keys. I never need to touch arrow keys and rarely have to reach for the mouse.

Idea of vim navigation is an absolutely brilliant, beautiful, practical model, it speaks to me and I have zero reasons for not using it. What keeps me with Emacs is another immeasurably brilliant idea - the idea of practical notation for lambda calculus, which is known as Lisp. Lisp probably can be crowned as one of the most important ideas in computer science. It's just hard to think of anything more influential than Lisp.

There's a notable shared trait between these two - they both entail tacit knowledge. You're probably well aware of what I'm hinting at. You see, trying to teach someone who never rode a bike is challenging for a similar reason. You may show them countless videos, explain how gyroscopic effect and caster effect keep the bicycle stable, you can draw diagrams and try to inspire them with names of all famous people who loved riding - none of it can explain the simple joy of an ordinary bike ride on a straight line. Until they've tried for themselves, nothing will ever make them feel what they can never unlearn later.

> I use both IntelliJ and (n)vim almost side-by-side

I perfectly pictured my own younger self - I absolutely had maintained the same setup not too many years ago, before diving into Emacs. And then it became three things side-by-side. Eventually, I had to stop this madness and forced myself to use only one. I made a promise that instead of reaching to the familiar and cozy confines and warmth of WebStorm, whenever I had to get something done, I would try to google and find ways to achieve the same things in Emacs. I really wanted to figure it out and make the decision once and for all. My plan was to time-box that experiment for a week, fully expecting that in the end it will replace Vim, but certainly not WS. After a week I decided I liked it and I wanted to keep going. Two months later I realized - I had not had to run WebStorm even once. Five month later I decided not to extend my license for next year, but it was never about the money.

Keep finding new bicycles to ride. Even when you don't feel like it, and especially when it feels kinda scary.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: