I've had a TREMENDOUSLY DIFFICULT time getting fully up and running with it in terms of workflow, but the text navigation alone has absolutely made me code not necessarily faster, but in a MUCH more enjoyable way. After a while it became difficult to imagine navigating a piece of code without some of VIM's core ideas, even if in my case it is down to mostly the feature-set related to easily navigating a file.
Alas, for me then the VScode-Vim extension is doing the trick, but since you mentioned the learning wall, curious if you know any resources or can suggest a path to move past it nowadays.
- Reading through vimtutor
- Disabling my arrow key bindings and unplugging my mouse for a week (as part of a combined vim/i3/vimiuim learning experience/experiment)
- Playing Vim Adventures, a puzzle game based on Vim's controls
The three days of godawful productivity has paid off a thousandfold- especially when I later became temporarily disabled (broken bones in both arms) and couldn't use a mouse for a while.
I tried using vim on vscode, but it doesn't play well with Python utils like Black and Flake.
If you are using these modern tools you are buying into the whole experience.
Playing editor golf has really gotten out of fashion these days.
Then suddenly, a skyscraper shoots up in what seems like no time at all.
Too many people want the penthouse without committing the required time to dig deep into the Earth and pour a solid foundation.
It almost never works.
Some people like to say that coding/typing speed is an insignificant portion of overall productivity, but I wonder how true that really is.
I have to use an IDE or notebook environment a lot now, but when I'm trying to make sense of a folder full of source files I always break out vim.
This is where the mouse-free operation (though modern vim has OK mouse integration) and the close relationship with bash/sh/zsh shine.
Curiously, this is not documented unless I'm missing something; after loading you can enable "dvorak mode" with ",d" (w/o quotes), and disable it with ",q". It just maps some keys, see: https://github.com/vim/vim/blob/master/runtime/pack/dist/opt...
Hasn't been updated in 6 years, and there may be better plugins/ways. I'm sure you're not the only person.
(like many people, I went back to QWERTY because I was losing QWERTY speed and was tired of looking like an idiot when using other people's computers. But sometimes I turn dvorak back on for fun and I'm surprised how I still have muscle memory for common words, even after years.)
Basic movement keys are split into two hands. J / K (up & down) are still next to each other and are operated with the left hand. H / L (left & right) are still close together and are operated with the right hand. It actually feels better to use and easier to remember than the one-row arrow cluster on QWERTY.
W / B (to next word & to previous word) are close together and are operated by the right hand. I actually use W B much more than H L and it feels great.
Y / P (copy & paste) are next to each other which is great.
Ctrl B / F (page up & down) are a bit counter intuitive because of the position (page up is below page down). Ctrl U / D (half page up & down) are fine.
A I O (various ways to enter insert mode) are clustered into left hand home row. S C R (various ways to replace text) are clustered into right hand.
Fun thing with neo: You have additional keys free for keybindings: hjkläöüß
I'm using ä, ö and ü to save, close buffer and quit vim. I'm very happy with that.
I wanted a tattoo of the vim logo but my wife said no.
Ha, no thanks!
In Vim, on a line with only her name, type:
:s/vi//ign
We can get to the bottom of this mystery.
one of the only things i havent dug into is how to leave a :term open without keeping a window open. this is more porblematic because im not a vim tabs user. so i end up with a bunch of super mini-sized splits eith a couple random terminals.
but in general- never going back. the way on is through. these other tools just murky it up, vim is better.
switching threads, recently reflected on my lifelong idlings of perhaps getting a debian tattoo. still has great appeal. but even now feels like debianistas are pretty closed ranks. that the boundary between insider & outsider is very high. & that don't jive well.
I'm way older than the original vi.
I'm actually older than Unix itself.
Vim is easily my most used application; I use it for my task list, to write notes when learning new topics and even to journal my personal thoughts.
Prior to this I used applications like evernote, google keep, google docs etc. I think the only advantage of those tools had was easy sync notes between devices but I solved that with syncthing[0].
> I solved that with syncthing
syncthing is great!
No, they’d use editors with mousing-heavy interfaces.
Now across multiple files, that's a whole different story.. 'm a seasoned vim user and still need to look it up whenever I do it.
But depending on your starting point though, you might need need a vim $(grep -l <filter>) to get all relevant files into buffers.
https://www.youtube.com/watch?v=XA2WjJbmmoM&list=RDCMUCUR1pF...
Thank you Bram.
I don't use any plugins (tried it back then with neovim and found the editor itself slow to load) and make me memorize folder structure a whole lot more since I'm using tmux alongside it.
I love the fact that I can hop on any system that has vim and I'm ready to go.
Happy birthday, vim!!!
g for global, or to match all the found ones, not just the next one
you can also add c for confirm to the end, which will make vim ask for confirmation for each replace, so you can pick-and-choose
Been meaning to try out Neovim after watching this episode of Dev Tool Time: https://srcgr.ph/the-primeagen
I've used vim for a while now, although not a power user I'm certainly capable. One of my favorite experiences with vim was remote pairing about a decade ago with another developer. He lived a couple of states over, and we paired by sshing into the other person's machine and using vim on a byobu session. It was also fun because both of us had different habits using vim and got to learn some stuff from each other.
I'll just leave this here:
https://mobile.twitter.com/vasudevram/status/124858356689776...
It's a plug for my vi quickstart tutorial that I first wrote for two Windows sysadmin friends of mine. They had been asked to additionally manage a few Unix boxes, and had asked me to make a small tutorial that could help them quickly learn enough vi to get by on Unix. After using it, they told me it was helpful for that purpose.
Vi and vim has stood the test of time (along with C, emacs, Linux, etc)