This is the presentation that I did for vim conference 2021. It is how I have arrived to the conclusion about harpoon. Its goal isn't to teach you about harpoon but how I arrived to its conclusion. I hope you enjoy this presentation.
A caffeine-fueled Starcraft-player-turned-programmer can't stand inefficiencies. This is the greatest channel ever. Also, that was a lot of hyphenation.
That dance was amazing. Also, this is a revelation. I have also been struggling with this issue for years. Vim users don't usually encounter this unless you are in a high production environment where things are constantly changing. My last attempt at trying to alleviate this problem in my workflow was using tabs, but you are absolutely right: using tabs are only adding to the burden. Can't wait to add this to my toolbox.
You have something here. Marks always seems so powerful to me and yet for some reason no one uses them. And I was trying to use them and only then I realized "What?, now I have to think in more marks for every project that I am working on" and then I see this video, talking about even more drawback that I didnt think of and giving a very natural and "vim way" solution. Looking forward for this now.
To be honest, when I watched your video I started noticing how much time I spend navigating between files and it started frustrating me. A LOT! Thanks! I HAD TO install this plugin and since then - I'm a happier person.
You're the one of my most favorite discoveries in recent memory. Understanding why you do the incredible work you do has helped me reflect on myself too. You're a blessing Prime, and thank you for helping coding padawans like me. After all you've been through and shared on your channel, you deserve every good thing coming your way. Tldr: i admire prime more than coconut oil (blasphemy fr)
That is why I open all important files in splits and never close them. Hopefully harpoon is going to improve that workflow as now I will be able to finally write code in full-screen
Nice story. It reminds me of the glorious V mark in old Vim, it's always in my .vimrc. Still there, not moving, because I don't open vim now. Just neovim. Right now I solve the problem in the video with lua bufferline and pins. Pin buffers, close all others regularly.
I was using Try 1, because you mentioned `mJ` and `mK` in another video. It worked, but I'm happy with the upgrade to harpooning files instead. Thank you!
@@ThePrimeagen having to remember to create the marks in the first place is also frustrating, especially if you need to restart vim. Harpoon is working amazingly well with just 3 keymappings basically; mark this file, jump to the first mark, and show all the locations.
Harpoon is one of the best vim plugins I installed this year. I was like "how did I code without this????" #yearslost Thank you Prime for this plugin. I also love terminal functionality of it as well
super duper! don't make fun of me but I'm using this for a netxtjs / rust project and it is helping me bounce around between files like a 8 year old boy who had too much sugar! wonderful!
Maybe I should finally try this out. I've been navigating with the help of tmux, other file, C-I/O and telescopes fuzzy search open buffers. I also do splits to not lose files, but they always get mixed up after awhile.
I love this so much! It's exactly what I was looking for. There's a project where I definitely have to open a few files somewhere during the development and I have a habit of closing my vim down completely when I am done with a feature or something, it's like just a habit at this point. Sometimes I am not in the right subdirectory so I can't even fuzzyfind the file(s) I want to open. Harpoon is going to be a game changer for sure. Also, for some reason, I had completely forgotten about marks, even though I use them for quickly jumping to my vim conf lol. They could've at least removed some of the burden for sure.
I am facing this exact same issue too and is frustrated to manage when I have opened many buffers. I ultimately use vim projectionist plugin from Tim pope and using alternate file feature that is relevant to the project I am working. I am impressed by your approach and will definitely try that.
What talking about projects in vim, you mean folders, right? For example when having marks per project, how does vim know which project you're in? By the working directory?
I use vim + tmux with just like hundreds of named windows and sessions for all of my projects, I don’t leave the same terminal all day. I just swap session, I have a convention where my docker logs are on window 0 compiler is on 1 and 2 is my main function/router for web servers and then I branch out from there. If you get up to 9 windows you have gone too far and are probably hurting yourself
The concept feels similar to the argument list (`:help arglist`): `:arg foo.c bar.c baz.c` to keep a set of files, `:argu n` to edit the nth one, and abilities equivalent to buffers (`:next`, `:prev`, `:argdo`). Obviously, it's not as "interactive" as your plugin and it's not per-project.
Man Perforce version control really gets no love in the dev communities XD Here I am stuck with this slow system cause corporate. How I wish they'd switch ... But not today it seems.
Looks like great plugin with a lot of power but I think that for me it has no use. Usually i'm all over the repo with lots of folders and files and instead of 4 main files i'm jumping between 10 or 20. So fzf is the way for now :D although it is emotionaly hurting me :D But thanks anyway, nice info and maybe day i will realize that there is some use. Keep it up ;)