Since we are programmers, there are a lot of different things to learn. Some of these things are career essentials and others are non-essential thi...
For further actions, you may consider blocking this person and/or reporting abuse
Another good reason, to learn vi(m) basics, is that it's virtually everywhere. You might find some minimal embedded systems or Docker images that use simpler console editors, and you will love vim in comparison. When you're not using an IDE but login to a remote server via shell and try to resolve a git conflict after pulling an update, you might find that vi has been set as the default editor, and using Esc, x, j, k, yy, p, dd can help you get your task done quickly.
100% this, vital in the real world.
ESC :q! -- everyone should know this :)
The majority of them will escape and never come back, lol
They're missing out.
They have to go back to read the document for basic ideas or "never come back" :)
Escape without saving
Bill Joy, the creator of vi, has pointed out:
The impetus for making vi was to minimize bandwidth usage of a very slow connection. Which is why vi (and Vim) have a sparse interface, and make the most out of the short keystroke sequences for input. And its modal states.
Bill Joy has said there is no reason to use vi anymore. We've got blazing fast machines, high bandwidth connections, graphical user interfaces, gobs of memory, huge hard drives. There are better editors out there.
Yet... I use vi (i.e., Vim) to this day. And I was late to the vi party, because I was an emacs user until the late 1990s.
Why? WHY? Well... because I find the editor gets out of my way so I can focus on the code. It's a zen-like experience where I am one with the keyboard and my document.
I never had that with emacs. That editor was always in my way, and always a distraction because I'd go down the shiny-object-syndrome rabbit hole of doing something snazzy with Emacs Lisp — and not working on what I was supposed to be working on.
So for all those people who are tempted to use Vim I can definitively say, "It's too late for me! Save yourselves!" (But if you still want to use Vim, there are a lot of us. And we're helpful. Have fun with VIM Adventures to get you started!)
I use vim in tandem with code. Since code pick up the changes I make, unless they overlap, I can use both at the same time. And I do. I often run vim in the code terminal, because it's just sooo must faster and easier for a lot of tasks.
But I don't install more than a few plugins (syntastic and gnupg). I couldn't be bothered with fiddling around with it.
I don't consider vim a good IDE, but a killer text editor.
And it's just so nice to know, than whenever you login somewhere, it's just there. So think of it as a plugin itself 💃
I was weened on vi in the '80s and so am familiar with it and it's on any and every headless *nix system out there, so invariable, because I never bothered with emacs or liked nano, I use vi still (which is vim nowadays).
For me, it's not just about being able to type faster or move around my codebase quicker, it's also that it's a lot more fun for me to program with Vim plugins
That's what I'm discovering too, it's been a fun experience
I have been using VI/Vim since 1993. There is no substitute. Even when I use an IDE as part of my workflow, I edit in Vim.
One time I had a job interview that required I code in a GUI editor. It was cumbersome and I think they thought I was bad at coding because it was generally hard to express myself.
A GUI editor is like playing the kazoo when you are used to a Stradivarius.
As with every other tool, it's important to use (n)vim for the right reasons. The argument that it's going to make you faster is a fallacy. Yes, if you are proficient, you probably are slightly faster in code writing and editing than your colleagues who use a mouse, but imo this is completely irrelevant to my job as a dev.
For me, Nvim is about convenience, however counterintuitive it might be on the first look. I enjoy the efficiency of navigating the code while my hands don't leave the keyboard. It's almost a lifestyle, once you start with Vim, you wish to use it everywhere. In IDEs, browser, notepad, you name it. Once you start seeing patterns of how easy it is to jump through text, it's hard to go back.
Vim is also fast and relatively lightweight, which allowed me on many occasions save precious memory where resources were limited due to local-heavy development.
As for tips, I recommend getting comfortable with Vim in private, ideally on a pet project, or even use it just for writing, eg. in Obsidian. Once you feel pretty good about your skills and your setup, where I'd argue the latter is more important, only then take it to the professional world. It seems like a small step, but I experienced quite a lot of pressure to recall all the Vim stuff I learned in "real world" settings, and I found my Vim setup was lacking in some places as well. If you feel like you are not coping, just switch to your old IDE and don't sweat it. Vim should be first and foremost fun for you so that you stay with it long term, and believe me it takes a lot of time to learn it, get used to it and feel confident working in it.
I learned about Vim three years ago while studying C through a course at UC Santa Cruz. The instructor was using it at the time. Since then, I haven't used it myself, but I know many people who do.
Although I prefer GUI interfaces, I will definitely use Vim later in my career.
You should use it sooner. It's awesome.
A mini-challenge I’ve set for myself is to use vim instead of nano to edit configs and such. So far so good! The more I use it, the more I’m starting to see why so many people love it.
That's fantastic to hear that you've taken on the mini-challenge of using Vim instead of nano for editing configs! It's a great step toward incorporating Vim into your daily workflow. As you continue to use it, you'll likely discover more of its powerful features and understand why it has such a dedicated user base.
Vim's modal editing and extensive keyboard shortcuts can be a bit overwhelming initially, but the more you practice, the more intuitive it becomes. It's excellent that you're already seeing the appeal. If you ever come across specific challenges or have questions about Vim commands, feel free to reach out. Many resources and communities are available to support your Vim journey.
Keep up the good work, and enjoy exploring the efficiency and flexibility that Vim brings to your text-editing tasks!
How has your experience been transitioning to VIM after a week of use? Have you encountered any challenges or found specific benefits to your workflow? Additionally, for those considering diving into VIM, what tips would you share to make the learning process smoother and more enjoyable?
followback for more insightful discussion
It's great to hear about your experience with Vim and your honest reflections on the learning process. Here are some thoughts and tips based on your article:
Reducing Mouse Use for Health Reasons: Your motivation to learn Vim to reduce mouse usage for health reasons is commendable. It's crucial to prioritize your well-being, and if Vim helps in achieving that, it's a valuable skill to have.
Starting with Editor Extensions: Recommending using editor extensions or plugins for those who are already using editors like VS Code or Webstorm is a practical approach. It allows users to ease into Vim commands gradually without a steep learning curve.
:- followback for more insightfull discussion
I know vim because I know vi. I had to learn vi because that's what was available on the old multi-rack sized UNIX servers in the early days of my IT career.
Then emacs came along, so I tried it, and stayed with vim, because I found emacs archaic and difficult to use; despite how much all the emacs diehards complained about vim being archaic and difficult to use. Not to mention that I was still working on servers that only came with vi, and even Linux still came with vim as a default, especially on lightweight distros.
Even today, once you wrap your head around having an edit mode and an input mode, vim is very powerful and very easy to use; which is why it's still around, still a great tool, and why my first user profile customizations I always add to .bashrc is the line: set -o vi
Best thing I ever did to make Vim even more fluid and useful - rebind the CapsLock key as another Esc. No more stretching with the left pinky for a key critical to the Vim workflow. Now it's right there, within easy reach. And I always thought CapsLock was pretty pointless anyway. Why devote such prime keyboard real estate to something that's almost never used.
I think it is better to use Vim or Gvim to start out to get the real Vim experience. I recommend just using the basic Vim commands for a while and build up a
.vimrc
file little by little.I had pain in my wrist to the point I could not do a push-up, in my case switching to trackball solved the problem completely.
As for Vim, I used it when I was low on RAM (or was it Vi, I don't recall). It's good if you have no access to something more advanced imo
Just started using vim and it feels good!
Excited to hear about your experience with Vim! It's always interesting to explore new tools for productivity in programming. Looking forward to reading your insights website and impressions. Thanks for sharing.
I love nano editor because of its simplicity and easy to use :)
You should try micro, it's just wonderful. Kept it for few years but never really used it. Now forced myself to ditch nano+vim in favor of micro and helix, very happy.
Just started using vim and it feel good!
We've written a blog post about Mastering Vim: Mouse-Free, probably it would be helpful for some of you atix.de/en/blog/mouse-free/
good luck
People never used Vim before wannna use nano for editting files in cli environment 🤣🤣
Hello, Lucas!
I looked through your entire profile and saw a lot of positive things about you.