Happy birthday Vim (2020)
groups.google.com
groups.google.com
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.
But that’s not what Vim is (only) about. Editing text with Vim a pleasurable experience unlike any other. See the parent’s comment on that as well.
It is, however, the steepest wall I’ve had to climb usability wise. Probably akin to Blender, where everything is different from what you would expect at first, but, hopefully, for a good reason.
If you are only developing software, vim isn't the best program for the job. By default, it is missing important features of an IDE. Customizing it to fill those gaps is difficult. Yet if you're working of different types of text files, the skills that you learn in one domain are transferrable to another domain. If you are proficient at editing documentation and data files in vim, you're probably going to prefer it for editing code since you are building upon pre-existing skills.
There may be a subset of editors where this can be true, but definitely not “any other editor”.
The shortcut CTRL-W (CMD-W on Mac) could be used in IntelliJ for this. But not sure, I switched back to Vim some time ago...
> But when it comes to programming, there are only so many things you can sacrifice! You can cut down on your documentation. You can cut down on commenting your code. You can cut down on email conversations and participation in online discussions, preferring group discussions and hallway conversations.
A great snippet of a Yegge article from 2008. I don't even use Vim, but your mindset seems pretty toxic and it's unlikely that your 95% is actually 95% when all of the sacrifices you have to make are taken into account.
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.
https://www.youtube.com/watch?v=XA2WjJbmmoM&list=RDCMUCUR1pF...
I'm way older than the original vi.
I'm actually older than Unix itself.
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!!!
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!
I've been looking for a Personal Knowledge Base (?) for a while and have started using Obsidian. I love the idea of the tags, backlinks, and Graph view but the editor itself leaves much to be desired (besides the fact that it's not vi(m)); whoever came up with the default color scheme (medium/light grey on dark grey) needs to be shot.
So how do they compare? If I can do everything I want with vim(wiki) I won't bother with Obsidian.
I hear that VSCode is going to incorporate backlinks and will be a better Obsidian than Obsidian is.
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.
Great idea to reuse äöüß!
Here are my üöä bindings: https://github.com/fdietze/dotfiles/blob/83455c587ccdacaf681...
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.
No, they’d use editors with mousing-heavy interfaces.
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)
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
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.
I wanted a tattoo of the vim logo but my wife said no.
Ha, no thanks!
You can usually abbreviate Vim commands down to one or two characters.
By default it reloads the current file
*Edit*: found it: https://www.reddit.com/r/vim/comments/q6hd3i/best_pronouns_e...
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.