Worth learning vim/emacs?

Im considering spending some serious time learning one of the above. Two principle engineers I work with exclusively use them, and watching them work is incredible, the speed they move and get things done is pure wizadry. Can anyone learn this skill? For what it’s worth, the alternative is learning VScode. I’ve exclusive used Android Studio in my career.

varsock,

Just to help you differentiate: vim is a text editor with a huge ecosystem of plugins and its own “language” where you can make the vim program into a sophisticated IDE. Vim also has very clever key bindings to help you interact with text more efficiently. My advice is that keyboard navigation using vim key bindings are worth learning, not necessarily sinking time to creating an IDE in vim for yourself with plugins.

vim key bindings make it incredibly easy and efficient to manipulate text, after putting effort into learning it. Most text editors, IDEs, Note taking apps (Joplin, Obsidian, etc.) have VIM mode where you can interact with text same way as in vim. Hell, I wish Word had vim key bindings!

To make VIM useful as an IDE you have to spend time to find plugins you need/want, customizing, tweaking, troubleshooting, etc etc.

personally, in my professional software eng career, I don’t have time to troubleshoot VIM plugins or customize my setup and I need an env that is frictionless and basically pay others to maintain it and make improvements. I use IntelliJ IDEs and VS code with vim binding enabled.

I do hobby around with it in my free time, making tweaks here and there but it is a huge time sink. Also, my squishy brain cannot always take the overhead of keyboard navigating an IDE. On days I am mentally drained of chasing evasive bugs, having a GUI that where i can click through menus without having to invoke a command really helps with mental fatigue.

I would suggest enabling vim keyboard navigation and getting the hang of that first while still using android studio so you don’t lose all your IDE features. Looks like your editor has a vim plugin. Then, if you like navigating with a keyboard, you can slowly build your own IDE using plugins and switch over.

AdamBomb,

Yes, for me the happy medium is to learn and use Vim emulation within your IDE of choice. Purists will object that Vim emulators offer inconsistent levels of support, but in my experience they all offer support for the core functionality plus varying extras. For those who already have Vim fully configured for their workflow and preferences, there is no substitute. But for anyone else, Vim emulation in an IDE is a great way to level up your text editing powers.

interolivary,
@interolivary@beehaw.org avatar

I may be the odd one out here, but I don’t think that the editor you use is really going to make all that much of a difference for your efficiency. Text manipulation is rarely your bottleneck when coding, so I’d just go with an IDE / editor you feel comfortable with.

I used to be a hardcore vim user but nowadays I just use VSCode with a heavily customized keymap.

pkulak,

Vim is great because you can enable the bindings in nearly every editor.

ollien,

And then painfully learn which subset of the bindings each editor supports :(

l3mming,

Learn vim, but learn it well. Not enough people take advantage of it’s macros feature. Once you’ve tried that, you’ll never go back.

Also, while you’re at it, spend some time learning i3. Then you’ll be able to show your principle engineers a thing or two.

pkulak,

s/i3/sway

sincle354,

When you get into Vim, you love it. There’s so many buttons for movement and editing that you never have to mash the arrow keys ever again. But that’s because you must customize Vim for how you like it. As you use Vim and accustom to the crazy binds, you will find situation where you think “I want to do this movement over and over and faster”. Then you learn about the dot (repeat) key, the “copy(y) within quotes”, the “jump to next function” button, the “jump to definition” button, etc… And if you don’t find a button for what you need? YOU MAKE YOUR OWN BIND. I have a button combo that does “take the current word under the cursor and grep it for every file with the same current filetype down the directory tree”. I use that button 50 times a day. Pure bliss.

It’s a text editor where you can program in your favorite movements.

sznio,

You should learn basics of Vim just for quickly editing config files on servers.

For programming I don't think the speed gains are worth it. It would take more time to learn it than I would shave while using it.

pandaontoast,

I would recommend trying a vim extension for vscode first if thats what you’re used to already. The learning curve can feel a bit daunting but once you learn some of the really basic shortcuts you will have already noticeably increased your efficiency imo

Evergreen5970,

Going to piggyback here to ask about vim vs. emacs.

Penguincoder,

Definitely. vim is hard to get used to, but after you do, it's damn powerful especially with plugins. Always nice to be able to do typing and coding entirely on the keyboard and not needing to move your hands to the mouse for something. Also, if you do any Linux cli stuff, you almost always have access to vi at LEAST. So being familiar with the tool she the gui and something like nano isn't available, is invaluable.

:wq

zauberin,

Learn vim and use it in vscode, kinda gives you the best of both worlds

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • [email protected]
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • Socialism
  • KbinCafe
  • TheResearchGuardian
  • Ask_kbincafe
  • oklahoma
  • feritale
  • SuperSentai
  • KamenRider
  • All magazines