These videos are so insanely helpful to someone who is just starting out in the software world. I know you say that you can't be someone's mentor, but in many ways, these tips and trick are the gateway. Appreciate these a bunch Prime!
Sir, you clearly have never watched "naked news". (Not endorsing this BTW). (Also I don't know what naked news is but my friend told me to write it in the comments)
Stop bragging about how hard you laughed and grow up. Laughing at people for their bad choices doesn't help anyone, it doesn't help you to either. Your laughter required no thinking and no self criticism, if window$ is that bad why don't you offer them a path how to leave it? I guess that would require some effort/thinking from your side. @ThePrimeagen most likely you have thousands of messages and you won’t read this, trying my chances anyway. Prime you are a smart, cheeky and funny dev celebrity full of great advice. Wouldn't it be better to show your clique the nuances of why some people might be stuck with windows instead of validating the laughter. That’s the approach normally have seen in most of the topics you talk about. The same way you wouldn't encourage your kids to laugh at other kids because of the T-shirt color they wear. Here I believe you can do better. Don’t promote childish behavior from your youngsters by pinning their messages where they laugh hard at others based on a specific trait, in this case their OS (willingly or unwillingly chosen). I don’t think the amount of automation shown here is possible in windows, but how many people need that? I believe most devs don’t, not trying to underrate your i3 setup, unless I missed something most of the benefits you showed in the video came from tmux and using a terminal based editor nvim. At any rate, under windows wezterm and nvim can get you far enough, you still have the problem of inefficient window switching to other apps, but while programming how much of that improves your productivity? Wrapping it up, I’m not on the same boat of laughing hard at other’s.
This is great! I love seeing people's work flows, iv been struggling to find my groove at my first dev job so i started seeing what my favorite RU-vidrs do! (Aka you)
In terms of Windows for quick switching between programs: - Have your most used programs pinned to the taskbar - Use Win + number (1,2, 3, so on) to move between different programs
That is some i3 Action right here. By the way a huge shout to you, brother. You helped me a lot to configure vim and my vimrc file when I was an absolut beginner. (Actually I still am. But now there is some progress.) So keep up the good work! Habe a nice day!
In macos, by combining yabai+hammerspoon+karabiner+ubersitch+alfred you can have a great experience compared to out of the box macos. It takes some time to get all of them working nicely together, but it is totally worth it... especially for those who like a more mouseless experience and lots of automation. Great video!
@@gahlahad7312 lmao same. "Alfred" felt like the finisher of the whole joke. Not only because it's the only tool I knew on the list, but also because it was the only normal-sounding program.
+1 for this. Yabai (tiling window manager) plus skhd (keyboard shortcuts) have improved my life. I want to recommend Raycast as an alternative to Alfred. Also Contexts let’s you switch windows more easily (as opposed to spaces).
No way, I was just thinking yesterday that learning vim is like learning to use all the built-in and custom hotkeys in Starcraft. Sure, it’s slow as hell in the beginning, but once you get used to it, your APM skyrockets
You convinced me to finally dedicate one of my PCs to Linux and start using i3! Installed Pop!_OS 20.10 and installed i3 over the weekend and loving it. Also convinced me to give SC2 another try!
Bro WHY am I just discovering your channel?....I must live under a rock. Simply put...You're a beast in this field....Do you need reassurance....No you don't, but it feels good saying it lol. Continue feeding us these juicy videos man. Unprecedented content! I appreciate your efforts, edits, and your delivery!
I also landed on i3, tmux and vim. I am just gonna show people who think my setup is weird this video now! :D A bonus to learning vim is that you can start to use all these vim-like programs to navigate instead of the arrow keys, which means you almost never have to use the arrow keys, and then you can easily start using the 60% keyboards which then gives you more desktop place, less train on your right shoulder and just looks better imo
I struggle with the HJKL directional (arrow) keys because J and K are reversed from what my brain thinks it should be -- grouping the "back" (left and up) and "forward" (down and right). Instead it alternates, not grouping those together.
i'm just wtf man! i've been trying to do these for a long time. thank you :) btw today i got your fm vim course gonna follow it when i start to use vim.
macOS has multiple tiling window managers. I was using Yabai with skhd or spectacle before, but these days most of my work is done in Linux. But I miss yabai. It was quite awesome.
For real though i do love kitty a lot. I eventually found tmux didn't always play nicely with certain tuis that I was using and it took a lot of work for my dumb ass to get it to behave in a way I found comfy. Kitty just kinda worked once I added some vim keybindings. It's luxurious. I love it.
I don't play much StarCraft, but custom keybindings and shortcuts make WoW a LOT MORE FUN TO PLAY! Like being able to do your rotation without needing to constantly move the mouse around your action bars.
Now I think I'm getting closer to where you at, currently using the same tools but I miss all the keybindings and quickness you show in the video, I wonder one day to be as fast as you are I'd like to ask for a keybindings video (for the terminal too) if is not too annoying
Just saw the part about Harpoon and how it persists. I then, in utter amazement said three times, 'They persist!?' outloud. Thank you Harpoon master, this is one for the ages.
I was using tmux-continuum plugin for some time, but always found it very unreliable. Sometimes it was not restoring sessions/vim panes sometimes it was even crashing the tmux server. At least with fish shell. After watching this video , I created very similiar tmux workflow to yours (fzf for project - create/attach tmux - create windows/panes correspondingly), and I think I like it more than tmux-continuum. Thank you for that
That is awesome. I had found that most tmux plugins aren't all that useful. It's such an easy interface to use, most the time a few commands gets you a huge distance.
Damn I also come from a Starcraft background and it is partly what attracted me to vim. Now it almost feels like I'm playing a video game while editing code
I have never played StarCraft, but this is exactly how I describe using vim and tmux, you don't have to think and it's fun and code just appears on the screen
For macOS users, same functionality of i3 can be achieved with the built in "spaces". Applications can be assigned to open in fixed spaces and shortcuts to navigate between spaces can be set in mission control keyboard shortcuts(For eg ctrl+1 for space1, ctrl+2 for space2 and so on). All other things(vim, tmux etc) work the same way. Great video dude!!! 💯
on macOS, I have set up 4 desktops / screens just the same way, ctrl-1 goes to browser, ctrl-2 to coding, ctrl-3 to notion, ctrl-4 to chats. (you can set this up in mission control settings and keyboard shortcuts) Also got amethyst as a tiling window manager. I admit it's not as fluent as dwm or i3, but it works pretty well.
@baggiponte it is on homebrew on the custom tap of the maintainer of yabai brew tap koekeishiya/formulae brew install yabai you should also install skhd to make mappings for yabai
Virtual desktops are amazing, and you don't have to be a developer to get good use out of them. Two-fingered swipe on the mouse to switch desktops on Mac has legit changed my life and I can't imagine working without it.
I agree virtual desktops are hella useful, but are you seriously using the magic mouse? I gave that thing a try for a month and it was just the most sad mousing experience I've ever had
yea, respect! I have same feeling about sc2 and "vim style" or cli zen of navigation and project editing. i's kind of magic power that produce "one man army" programmers =)
This is the first video I saw about your channel via YT Home recommendation. At first I thought, what a weird guy operating in such an awful enviroment. Didn't even finish it. About two weeks ago everything clicked for me, remembered that 'vim guy', went back to check and now... ThePrimeagen is my lord and savior.
hah! Don't put me on a pedestal, for I will disappoint you ;) But! I really love making workflows that are optimized for my brain, so not everything is going to be for you, but I sure hope that you enjoy what I have made here.
I pretty much have a similar setup with similar philosphy but on macos. For this I use : 1. Nix(for reproducible envs) - I use homemanager + nix-darwin 2. Kitty(terminal) - default config 3. Zsh - I use default oh-my-zsh config 4. Tmux(Terminal multiplexer) 5. Doom-emacs(but with vim bindings) - I used to be a vimmer previously with tmux + vim workflow, but now doom-emacs with magit + org mode just makes task management soo smooth. I cant go back to vim anymore. 6. Spectacle(for window + desktop management) - I have been planning to switch to Yabai for whiile now but didnt find the time yet. 7. skhd (for hotkeys) 8. Alfred (for workflows and automation)
thanks man, it's awesome! if not for your vid, I would never know about i3. too bad you seem never respond to comments, but it would be also cool if you elaborated on your fzf+nvim binding.
Your workflow makes so much sense, I also want my computer time to be dressed in coconut oil like you.. however I'm on windows and using vs code... yikes!, guess if I make the switch now, I will get fired from the initial but very drastic drop in productivity :D
Interesting setup. I'm running something similar, though I haven't really been using tmux as much, only really got into the splitting functionalities of tmux before which got somewhat eaten alive by neovim's terminal buffer suiting my needs along with i3's window management functionality. You've convinced me to give it another look though, session restoration is definitely a big plus for me. One really nifty feature of i3 I've been trying to incorporate more is its vim-like marks, handy for when you'll be jumping around between particular windows regularly, though I'm still trying to figure out a way to bind those functions that's both quick and easy to incorporate mentally into my flow, might try i3mod+function keys for quickly marking and recalling on the fly. (PS: Entirely likely you're already on board the QMK train but if not, definitely look at grabbing and playing around with a QMK keyboard, being able to remap and optimize my keyboard firmware itself has proven to be a total gamechanger for me. Remapping my modifier keys to be hold actions on caps, enter, and tab has made hand fatigue way less of a thing across a long period of computing, and being able to get rid of caps lock in favor of escape should honestly just be the default for keyboard layouts imo. Got a bunch of other more complex functions with layers and macros and such, but those changes are probably the single biggest improvements in my setup. Plus, since it's on the firmware of the board anything there is at complete parity across both my own linux box and my company windows machine, no added steps required. Super handy.)
running with Pop_OS and managed desktops with auto alignment here. productivity wise, I like your notion of isolating each tab based on function. I'll have to give that a go.
I'm using Tmux + i3 at work, it's fantastic! Its so fast to switch windows. When i go home and open my macbook pro, it feels so slowwwwwwwwwww probably i'm going to replace it for a notebook with ubuntu
I’ve configured MacOS to have chat in split window on desktop 1, code and browser split on mail on 3 and random on 4. It’s not really automatically tiled, but there are tools for window position, so second best thing. I ran i3 for a couple of years back in whenever-it-was. I liked it but I always ended up configuring things instead of actually doing what I was supposed to do. If I’d leave the Apple garden I’d go back to and i3
I love prime's workflow so much that I replicated it in macOS and created a youtube tutorial. I setup karabiner to use hotkeys to switch between apps, yabai as the window manager in stack mode to have a single app on the front (I even enabled transparency in some apps), tmux and some other CLI tools. In case you find it useful, here's the playlist ru-vid.com/group/PLZWMav2s1MZTanWwNKYvS8qgwl0HBH9J-&si=qilCvztAW_oIkg2I
I think you completely sold me on changing my OS to Linux in future, just thinking about how many workarounds I had to go through in Windows to customize things the way I want (with all the restrictions, stupid default apps, non-flexible environment)...
thank you for sharing the knowledge you have accumulated over years. your effort is appreciated. a quick question: what is it that allows you to open file tree by hitting ctrl-f and launching tmux when you hit enter on a given path? is it i3 that does it?
Its possible on mac using automator and some paid for software. It doesnt always work because if the program uses your shortcut you selected you are out of luck. But here are the steps. 1. Open Automator (Cmd + space Animator) 2. Select Quick Actions (Gears) 3. Search for Launch Application (on the left side) 4. Save 5. Open System Settings (Cmd + space System) 6. Keyboard -> Services -> General 7. Find your action with the name you gave it 8. Add a shortcut. like cmd + option + 1 9. Repeat for other programs
For those on Mac, use RCMD. It may be even better than i3. You use your right Cmd + {key} where {key} is the first letter of the app you wish to go to. It's paid, but a one time $8 fee was the best money I've spent on a software (including that Office crap). I've never tried i3, but number-based switching gives you access to maybe a few one digit screens, but with a character based switcher, you get a shit ton of more options. I find it's also better for any new stuff you open occasionally but don't want to dedicate a space to. Thanks for the video though. You helped me switch to vscode with vim + whichkey extension (basically gives you keyboard based navigation) that has really sped everything up for me.
I’m starting to notice a trend of a lot of great developers all having played StarCraft in the past. I’ve had people be in awe at how fast I’m working and I’m like bro, compared to StarCraft this is slow mode.
You don't want it. They're long and they're boring. And they involve tons of screaming coconut oil and more. But the worst part about it all is there's no music. Only the live experience gets the music.
@@ThePrimeagen I actually do. I know you mentioned at some point you might make separate channel. Sometimes I can't catch you live and downloading your vids for the road/work would be great.
Man there are few things in my computing experience that is sweeter than a well-oiled WM.Everyone loves a beautiful workspace, but for me, not at the cost of performance. Always, function over form.
Nice! I like this "optimising productivity" rather than "making it look pretty". But... I am a weak man, and use a dwm patch for the gaps (I did not go as far in the heresy as having an anime wallpaper though 😅 )
I use to have several terminals in i3, and swich from one to the other from i3 shorcuts... ... Thanx to you, doing this with tmux is my next move, cause I start to work on my desktop from my laptop, and having all my sessions on one tmux server is a gamme changer :-) tmux-with-me !
Hey, just wondering how do you make your font glowy or like neon? When I use the font(Ubuntumono) it doesn’t look as good. Just thought it looked good in your past videos too.
Im using raycast and its been great using it since. To switch window I currently use ctrl + arrow keys. But I think you can easily bind keys on macbook. Or you can use cmd + tab to switch between them.
I remember the starcraft days. I was actually playing warcraft back in the day (I think it was just called "warcraft"). It was kind of similar to starcraft but not as good of graphics and you played people by connecting directly to them with the dial-up modem. Good times until little sister picked up the phone.
The way it can work the same in mac is to have multiple workspaces and just open the apps you usually use in that workspace. I have mine set up with 4 workspaces and I CMD+[#] to tab around to them. The frustrating part is fullscreen windows (like a fullscreen youtube vid) open on the Nth+1 workspace, without keybinding.
Great stuff!!! Why i3 and not ratpoison? And why tmux and not screen? Both ratpoison and screen are more basic, simple and light-weight, so for me it'll be interesting to know what functionality you use in i3 and tmux, that ratpoison and screen can't offer you. Thanks :)
on xmonad always used 1:term 2:file explorer 3:web browser 4: vpn 5-0:not important apparently bc I don't remember. always use tmux or screen when editing from terminal... I used to be linux only but I should try to understand windows(mildi done) I love you keyboard, can we be alone? ahah.PS: ty for... just being in the right moment.... and using vim
MacOS users! In keyboard settings -> shortcuts -> mission control -> turn on all the keybinds for desktops 1-9 On the dock, go through all your normal use apps, right click -> options -> assign to and set them to a specific desktop. You now have i3 desktop functionality out of the box, at least on Ventura ✌
I use xmonad for my tiling window manager with the mater + slave or grid layout for managing different terminal "sessions", I think it's time to bring in tmux as well, I am sold
Love the videos, bud. Commenting on a video that is now a year old, but big question: How do you get your OS to fire up with programs opened on their respective workspaces/virtual desktops? I like this "breaking the programs out between workspaces" concept, but opening each program and putting it in its place, EACH TIME, is just too much. Is this in your dotfiles, because I can't quite locate it...