@@khanra17when bosses and coworkers stop valuing "busy work" and complexity for complexity's sake then I will, I am not gonna work harder for no reason if I can help it, and if pretending to do so makes my paycheck rise and actual hard work is frowned upon and not rewarded why do it? Do you work your programming job for the sake of programming? Or do you do it because it allows you to live another day
@@khanra17 I didn't have to spend a whole lot of time configuring and setting up tmux, but it's made my work flow indescribably smoother. I get you with the useless rabbit holes thing, but I would argue this is absolutely NOT one of them. It's simple yet very powerful. I can keep myself much more organized with it in a way that save a TON of time
@@khanra17 it is incredible useful and you are just stupid. It took less than 1h to setup and saved me countless headaches. If you take too long to setup it is just a skill issue.
Nothing is better than running tmux on your companys file server and every developer not terminating their 1000 react tmux sessions at the end of the day - the admin was not a big fan of us :)
@@ToyKeeperit absolutely helps. When your connection drops to the server you can reconnect and whatever you're running hasn't died. It's also super easy to put on anything and doesn't seem to have any dependencies.
Comedic details and the content of this video is making me joyous, like a toddler given an unrecognized allied object that can fly and be held at the same time.
@@traveller23eemacs is a programmable GUI application. vim is a *text* editor with additional scripting features and a bunch of builtin shortcuts. It's fast even when running replace regexes over an entire file, but usually only supports *text* edition (not semantic edition, like moving something in a parent block) or graphical things like fonts or images. Emacs is literally a lisp environment with a GUI. It can do emails, web browsing, read pdfs, play chess, display images, play sound,... as long as someone is willing to program the feature in a lisp plugin. Emacs is the best *code* editor (while vim is the best *text* editor), because lisp is a powerful language for code analysis. Emacs plugins can manipulate the AST of a program, extract chunks of it to run them, and manage an REPL in a subprocess to test code while writing it. Languages like common lisp and ocaml, that require a high level of code analysis, are basically emacs-or-nothing. Emacs is also infinitely better than vim at latex, since it can display pdf, and vim can't. Unfortunately, emacs is old and emacs lisp is ugly and long to understand. Those who use emacs are usually lisp supremacists who also use guix (guile) and nyxt (common lisp)
Zellij is basically like a preconfigured tmux with stuff like session restore working out of the box and scrolling being much nicer. It even accepts the same keybinds. Definitely also worth a look.
It also stores session sockets in XDG_RUNTIME_DIR last time I checked, which gets wiped if all your login sessions stop, so getting disconnected from a remote server means you now have an unreachable zellij session
If you like tmux, you'll love a Tiling Window Manager because its basically tmux, but for everything. I love i3wm because it lets you create tab groups and then you can tile the tab groups. The possibilities are endless.
I like tmux for it's ability to detach from the terminal, and the ability to easily switch between two panes w/o losing view of the other pane. I hate tiling managers and I feel like your suggestion is plainly wrong.
Yep - i3 in Linux, Glaze WM in Windows, Amethyst in MacOS (YabAI is cool however there are some configuration options that will be available only if you partially disable SIP (System Integrity Protection). Prefer Linux as the TWM removes the GUI overhead rather than just managing it.
Use Polonium on my KDE setup, love it But my own initial setup isn't really seamless since the config is huge(basically saving the entire KDE config) Interested in sway for next build by havent got dedicated time to setup lmao
i'm switching to arch pretty soon and i was thinking earlier "i should probably learn how to use tmux so i can be more organized when setting things up." this came out at the perfect time, thanks!!
@@traveller23e thanks! i've test-installed in a vm a few times just to make sure i know what i'm doing. i'm currently waiting on a drive so i can backup my files from debian.
Actually, reality is also personalized by the big techs algorithms these days. I started using tmux 5 yr ago, and this video was created 5 years ago for me. I also wrote this comment response 5 years ago. In my reality, you too started using tmux on that same day
@@traveller23e Well, Zellij has some plugins of tmux (like resurect or the layout management with files) builtin and it's written with Rust. But the lacking feature of zellij is the capacity to target and send message to soecific panes though. It will be added later
@@vaisakhkm783 I completly agree. I have some work to do to "deconfigure" it, like removing the informations in the screen, the annoying borders, putting my custom key bindings. But now it feel like home and works well with my workflow
I recommend tmux-session-wizard which gives you a single key binding to manage all your tmux sessions/projects instead of the manual bash script in the video. Disclaimer: I’m the creator of the plugin
tmux is a godsend for remote server work. You never lose your place, you can have multiple "tabs" (windows), each with multiple frames, labels for tabs, and more. Disconnect, come back a few days later, ssh to your server, tmux attach, and BOOM - you're right back where you left off. It's totally worth the small learning curve. The only downside is the increased effort to scroll within a frame, as you need to use keyboard shortcuts. But it quickly becomes second nature, and it's a minor difficulty compared against many benefits. Remap the keys to your liking, (such as ctrl-space for easier command mode).
I literally set up tmux 24 hours ago after previously failing. Tools that need ctrl binding break my hand. It's unfortunate I couldn't find out how to use vim keybindings with tmux.
First thing to configure is switch it from the hard to reach Ctrl-B to Ctrl-A, and set Ctrl-A Space to switch to the next pane i.e. use screen keybinds.
I figured that it's not ideal setup. You need to move hand a bit to hit both ctrl and a. So i remapped it to ctrl-r (seems strange, but work for me) and some vim-like keybindings to navigate/split panes.
this is super useful when connecting to remote servers, you can have your connection drop or you can even connect on a different computer and still keep everything running
One of the my most favourite pieces of software that I ever had a chance to use... It revolutionized how I developed software and was an absolute gamechanger in terms of improving my productivity...
In modern operating systems like Windows (not Macos though), this is done using Microsoft PowerTools FancyZones, where each virtual desktop has its own tiles layout, and you snap windows (including Windows Terminal app) into the tiles. Disadvantage of TMUX is that it's only for terminals, unlike Microsoft FancyZones. The advantage however, is that you can use multiple virtual terminals over a single SSH connection. So, TMUX is for people that don't have Windows and/or are stuck with a single SSH connection.
A flow for terminals is the best part about tmux. How can someone come with the idea of controlling terminal creation using bash scripting..🤯 Incredible..
I lurve me some tmux. It's life changing. My favorite config line: # + splits into four panes bind + run "tmux split-window -h; tmux split-window -v; tmux select-pane -L; tmux split-window -v; tmux select-pane -U"
Sounds really cool... Not something I would ever need any more, but definitely cool. Pretty sure there was one project where I could have leveraged this in the past...
i once installed linux and randomly started to read about tmux, later used it heavly on work it was a tool that really helped me jump between sessions kind of important trick to split screen
2 วันที่ผ่านมา +3
I wonder if Jeff first writes the script for the video or looks for cool memes to make a transcript 🤔
Ex screen user here, been using tmux for a few years now but albeit using the superior screen key binding. However I must admit tmux is the better mux!
Lmao I started using tmux a few months ago and apparently haven’t used any of the intended features lol… I’ve just been using it as a tool to keep my processes running after I log out of ssh 😂
Tmux in my university server is gold. I don't have to worry about crappy wifi disconnecting my ssh anymore, just tmux attach and all good to go. Windows and sessions inside ssh is also OP (fzf my work directories to spawn tmux session), while all my classmates using a single window, cd path, vim main.c, :wq, make, ect. slow af.
I forget how powerful tmux is. Since 2018 I've only used it as a way to store processes in the background that I need to check on because I hate using screen
I prefer byobu to using plain tmux, as it sets more sane defaults, and allows you to run "byobu-enable" to simply always run in (e.g. on a server) when logging in.
Please please consider doing ExpressJS in 100 seconds. Its super popular, so I'm surprised you haven't made a video about it. I would love to see a video about this framework
I honestly have no idea how to use nano and get stuck in it all the time, I usually use vim but sometimes something will be configured to open in nano and ZZ doesn't work i usually just close my whole terminal
TMUX is so powerful, it can even make your boss think you're working twice as hard.
I need this
@@mehmeh8883
No you don't.
Work on actual work and not this useless rabbit holes which solves a problem by creating 10 more.
@@khanra17when bosses and coworkers stop valuing "busy work" and complexity for complexity's sake then I will, I am not gonna work harder for no reason if I can help it, and if pretending to do so makes my paycheck rise and actual hard work is frowned upon and not rewarded why do it? Do you work your programming job for the sake of programming? Or do you do it because it allows you to live another day
@@khanra17 I didn't have to spend a whole lot of time configuring and setting up tmux, but it's made my work flow indescribably smoother. I get you with the useless rabbit holes thing, but I would argue this is absolutely NOT one of them. It's simple yet very powerful. I can keep myself much more organized with it in a way that save a TON of time
@@khanra17 it is incredible useful and you are just stupid. It took less than 1h to setup and saved me countless headaches. If you take too long to setup it is just a skill issue.
Nothing is better than running tmux on your companys file server and every developer not terminating their 1000 react tmux sessions at the end of the day - the admin was not a big fan of us :)
If i where the admin, i would have scheduled a cron job to pkill tmux every 30 min XD
@@vaisakhkm783where?
@@KimYoungUn69 on the server....
@@vaisakhkm783 were
@@vaisakhkm783he's making fun of your typo bro
Absolute MUST for remote terminals.
How about multiple remote tmux windows inside of client tmux
@@dimon22323 how about no
zellij is superior to tmux
tmux is already available on any server @@cosput
learned this the hard way
Tmux is your ultimate tool against unstable ssh connection
Consider using mosh instead of ssh
@@herwighenseler9120 no
Tmux doesn't really help with an unstable ssh connection. Use mosh for that.
@@ToyKeeperit absolutely helps. When your connection drops to the server you can reconnect and whatever you're running hasn't died. It's also super easy to put on anything and doesn't seem to have any dependencies.
@@TomFoolery9001 couldn't agree more. Saved my career
Tmux is so good I made everyone around think I was somehow hacking
do you even hollywood, bro?
Did you have the matrix script, Btop, and Neofetch running all at once? I hear that's how hackers hack
Cat /dev/random and furiously smack the keyboard while saying things like "they're fighting back"
@@charlesnathansmith Deploying countermeasures! Clearing a path! Releasing payload! I'm in.
Some of my coworkers used it when I was a newbie and I was really impressed. I thought those guys are geniuses
Using TMUX is like being doctor strange looking through the multiverse
öÖö
How many terminals did you see?
14,000,605
In how many did the code successfully compile?
One
Comedic details and the content of this video is making me joyous, like a toddler given an unrecognized allied object that can fly and be held at the same time.
first types vim
insult vim and changes to nano
but in the end opens vim
lol such a fireship thing to do
Meanwhile off in the corner with the party loner:
"Nobody here knows I use emacs"
@@mawnkey You poor thing :(
Jokes aside I've never actually used emacs, what are its strong suits/the advantages over vim?
@@traveller23e Oh _I_ don't use it. I'm just laughing about those guys lol
Emacs is a nice OS, it just lacks a good text editor.
@@traveller23eemacs is a programmable GUI application.
vim is a *text* editor with additional scripting features and a bunch of builtin shortcuts. It's fast even when running replace regexes over an entire file, but usually only supports *text* edition (not semantic edition, like moving something in a parent block) or graphical things like fonts or images.
Emacs is literally a lisp environment with a GUI. It can do emails, web browsing, read pdfs, play chess, display images, play sound,... as long as someone is willing to program the feature in a lisp plugin.
Emacs is the best *code* editor (while vim is the best *text* editor), because lisp is a powerful language for code analysis. Emacs plugins can manipulate the AST of a program, extract chunks of it to run them, and manage an REPL in a subprocess to test code while writing it. Languages like common lisp and ocaml, that require a high level of code analysis, are basically emacs-or-nothing.
Emacs is also infinitely better than vim at latex, since it can display pdf, and vim can't.
Unfortunately, emacs is old and emacs lisp is ugly and long to understand.
Those who use emacs are usually lisp supremacists who also use guix (guile) and nyxt (common lisp)
@@mawnkeyGNU EMACS = Richard Stallman; Long live the king!
Now I can add 10+ years of tmux experience in my resume.
14*
*17
6.9 years
@@VoidHuskie bro has been trying the same joke on every video😭
@@goatknight777😂😂😅
Zellij is basically like a preconfigured tmux with stuff like session restore working out of the box and scrolling being much nicer.
It even accepts the same keybinds.
Definitely also worth a look.
Had issues regarding flickering with nvim in zellij.
The battle is about mouse actions
It also stores session sockets in XDG_RUNTIME_DIR last time I checked, which gets wiped if all your login sessions stop, so getting disconnected from a remote server means you now have an unreachable zellij session
Started with tmux but found Zellij short after. Love the user friendly status bar and awesome key-bindings.
Would be a great sequel to this video.
If you like tmux, you'll love a Tiling Window Manager because its basically tmux, but for everything. I love i3wm because it lets you create tab groups and then you can tile the tab groups. The possibilities are endless.
I like tmux for it's ability to detach from the terminal, and the ability to easily switch between two panes w/o losing view of the other pane.
I hate tiling managers and I feel like your suggestion is plainly wrong.
Yep - i3 in Linux, Glaze WM in Windows, Amethyst in MacOS (YabAI is cool however there are some configuration options that will be available only if you partially disable SIP (System Integrity Protection). Prefer Linux as the TWM removes the GUI overhead rather than just managing it.
Not sure that actually saves your Terminal sessions which is perhaps the main benefit of tmux?
@@arjix8738 Pretty sure awesomeWM can be easily configured for that
Use Polonium on my KDE setup, love it
But my own initial setup isn't really seamless since the config is huge(basically saving the entire KDE config)
Interested in sway for next build by havent got dedicated time to setup lmao
i'm switching to arch pretty soon and i was thinking earlier "i should probably learn how to use tmux so i can be more organized when setting things up." this came out at the perfect time, thanks!!
Enjoy! Arch is nice, changing stuff is so easy :)
@@traveller23e thanks! i've test-installed in a vm a few times just to make sure i know what i'm doing. i'm currently waiting on a drive so i can backup my files from debian.
Tmux + tiling window manager + neovim literally turns you into a coding god
@@s1nistr433 i already use the other two so i guess i'm doing good lol
btw
I just installed tmux yesterday and boom I get a video from fireship
How lucky you are
This is nuts! The other day I was just learning about tmux
What's going on! the algorithms are manipulating us 🤔
Same here, We've been watching too much @ThePrimeTime I guess
same lol. pretty awesome tool with great plugins and themes for customisation as well.
Shit saved so much time in college, absolutely goated
It's useful for more than fertilizer and unpleasant prank bombs?
I just started using tmux today and this dropped, magical
same lol
Actually, reality is also personalized by the big techs algorithms these days. I started using tmux 5 yr ago, and this video was created 5 years ago for me.
I also wrote this comment response 5 years ago. In my reality, you too started using tmux on that same day
@@TheRealChiults Reality Sucks
After 4 years of tmux, I switched to zellij. But I still use tmux shortcut in zellij since it allow it X)
Why did you switch?
@@traveller23e Well, Zellij has some plugins of tmux (like resurect or the layout management with files) builtin and it's written with Rust. But the lacking feature of zellij is the capacity to target and send message to soecific panes though. It will be added later
Zellij is cool, but it felt essentially like pre configured tmux...
@@vaisakhkm783 I completly agree. I have some work to do to "deconfigure" it, like removing the informations in the screen, the annoying borders, putting my custom key bindings. But now it feel like home and works well with my workflow
@@traveller23e easily configurable - mutiple floating panes and stacked panes layout
Been using tmux for as long as I've been using Linux. Can NOT imagine my dev environments without it
I recommend tmux-session-wizard which gives you a single key binding to manage all your tmux sessions/projects instead of the manual bash script in the video.
Disclaimer: I’m the creator of the plugin
It's a life-saver when dealing with long running commands over ssh.
You run the command, detach, then come back to see all the logs
nano being superior to vim is the funniest joke you've told on this channel.
Joke?
Are you high? nano is SUPERIOR
tmux is a godsend for remote server work. You never lose your place, you can have multiple "tabs" (windows), each with multiple frames, labels for tabs, and more. Disconnect, come back a few days later, ssh to your server, tmux attach, and BOOM - you're right back where you left off. It's totally worth the small learning curve. The only downside is the increased effort to scroll within a frame, as you need to use keyboard shortcuts. But it quickly becomes second nature, and it's a minor difficulty compared against many benefits. Remap the keys to your liking, (such as ctrl-space for easier command mode).
I literally set up tmux 24 hours ago after previously failing. Tools that need ctrl binding break my hand. It's unfortunate I couldn't find out how to use vim keybindings with tmux.
You can make bindings, including bindings which don't have a prefix, I added a decent amount of vi-based ones.
Thanks for the awesome video! 🙂 A video on npm in 100 seconds could be really helpful for beginners if you're still looking for video ideas.
Tmux is awesome when SSH-ing into a machine and wanting to ensure that a long running command doesn't stop when the connection drops.
you can use "screen" for that
NeoVim + Tmux
The power is at your hand 🔥🔥🔥
First thing to configure is switch it from the hard to reach Ctrl-B to Ctrl-A, and set Ctrl-A Space to switch to the next pane i.e. use screen keybinds.
I also turned my caps lock into a ctrl to lazy it even more down.
nvim users ( :
Ctrl-space is even easier and natural to my fingers
I figured that it's not ideal setup. You need to move hand a bit to hit both ctrl and a. So i remapped it to ctrl-r (seems strange, but work for me) and some vim-like keybindings to navigate/split panes.
I like binding the next / previous pane to Alt + Shift + L / H (vim motions) and skipping the 'leader' keys. Which I map to Ctrl-S
this is super useful when connecting to remote servers, you can have your connection drop or you can even connect on a different computer and still keep everything running
0:50 is going into my "WTF 3am" picture collection
Awesome video! Instead of "tmux attach" you could type "tmux a", tmuxifier can be used to set up a new project too!
"Nano is far superior (then VIM)" was a great bait for getting more comments. Well done!
Man, I love these videos. The quick tips about something, the humor... Thanks!
One of the my most favourite pieces of software that I ever had a chance to use...
It revolutionized how I developed software and was an absolute gamechanger in terms of improving my productivity...
Oh this seems nicer than switching between 5 screen sessions..
My favorite multiplexer covered by my favorite youtuber
Even with 3.3M subscribers this is the most underrated coding channel.
i used screen when i wanted to run long running jobs but this looks nice too
TMUX is my app of the year
Finally something that will not replace all programmers in Fireship video...
This is freaky, just the other day I was looking about tmux and here is a video of everything I'll ever need to know about it!
if you're interested in this i would also recommend looking into tiling window managers
In modern operating systems like Windows (not Macos though), this is done using Microsoft PowerTools FancyZones, where each virtual desktop has its own tiles layout, and you snap windows (including Windows Terminal app) into the tiles.
Disadvantage of TMUX is that it's only for terminals, unlike Microsoft FancyZones. The advantage however, is that you can use multiple virtual terminals over a single SSH connection. So, TMUX is for people that don't have Windows and/or are stuck with a single SSH connection.
the only thing that I have in common with tmux is that having a lot of windows open, yet I not understanding whats going on
I've been using tmux to handle several different running applications on my raspberry pi. Great stuff! Keeps things nice and tidy.
A flow for terminals is the best part about tmux. How can someone come with the idea of controlling terminal creation using bash scripting..🤯 Incredible..
"JavaScript slop" is the perfect expression
I use zellij btw.
Tmux has contributed to deep learning.
Seriously.
I actually might be interested in your course... you are a great teacher!
I lurve me some tmux. It's life changing.
My favorite config line:
# + splits into four panes
bind + run "tmux split-window -h; tmux split-window -v; tmux select-pane -L; tmux split-window -v; tmux select-pane -U"
Tmux is one of my favorites together with screen
I love tmux. The day I found it an angel smiled upon me. I use it extensively.
Useful tip: to be able to scroll/move at earlier outputs press ctrl+b and then [ (then you can use up/down arrows or scroll)
man the content is so funny, laugh every video. favorite youtuber ong
I love tmux, I have a systemd service to run minecraft server in tmux and I can just attach session to type in commands
your setup is pretty efficient imo
I switched from tmux to zellij and love it. Much better experience in my opinion.
God I love Tmux it makes managing my projects so much easier, you can even bind some sick scripts to keybinds
I never really got into screen, since I needed to detach sessions manually. tmux might be what I was looking for!
Sounds really cool... Not something I would ever need any more, but definitely cool. Pretty sure there was one project where I could have leveraged this in the past...
I swear the moment I need a tool finally fireship posts a vid for me just in time. It's almost... supernatural...
i once installed linux and randomly started to read about tmux, later used it heavly on work it was a tool that really helped me jump between sessions kind of important trick to split screen
I wonder if Jeff first writes the script for the video or looks for cool memes to make a transcript 🤔
GNU Screen. Initial release: 1987; 37 years ago.
THANK YOU. (kids today, i swear…)
it's kinda funny how I unintentionally learned tmux and linux by wanting to host my own minecraft server in middle school
Tmux my beloved.
tmux carried me in grad school when I had to remotely control and access multi-threaded processes on a powerful workstation from a weak laptop.
Wow, i just yesterday started installing tmux and you post this now.
Ex screen user here, been using tmux for a few years now but albeit using the superior screen key binding. However I must admit tmux is the better mux!
Started with tmux but found Zellij short after. Love the user friendly status bar and awesome key-bindings.
Would be a great sequel to this video.
Lmao I started using tmux a few months ago and apparently haven’t used any of the intended features lol… I’ve just been using it as a tool to keep my processes running after I log out of ssh 😂
I was eagerly waiting for you to make a video on TMUX.🎉
The most powerful and productive creation for Linuxers ever
You forgot about copy mode. I live for copy mode, it's almost more important to my workflow than the panes themselves.
Fireship switched to linux and vim, lets go!
Tmux in my university server is gold. I don't have to worry about crappy wifi disconnecting my ssh anymore, just tmux attach and all good to go. Windows and sessions inside ssh is also OP (fzf my work directories to spawn tmux session), while all my classmates using a single window, cd path, vim main.c, :wq, make, ect. slow af.
Finally installed and setup tmux, thanks :)
Resume
--------------
Technical skills: *TMUX* ( 10+years )
I love tmux. It helps me pretend I'm productive.
that nano comment just triggered so many vim nerds, myself included .... I'm here for it 🤣
I forget how powerful tmux is. Since 2018 I've only used it as a way to store processes in the background that I need to check on because I hate using screen
tmux is so good that, that i wish there is a similar project works natively in windows
Been waiting for this. I love tmux!
2:20 did hit me hard😢
Get back on your feet soldier, at least he's not using Emacs. All hope is not lost.
+1 for nano
VI only because I can use it on a 50MHz processor 300ft in the air, because its (vi) pre installed....
I was working on setting up smug, a session manager, and fzf to create a new session or switch to existing ones.
I prefer byobu to using plain tmux, as it sets more sane defaults, and allows you to run "byobu-enable" to simply always run in (e.g. on a server) when logging in.
Oh hell yes Tmux episode.
Babe wakeup, Fireship just explained Tmux
Tmux (and gnu screen) can share a session if you login as the same user. Surprised that didnt make it into the video.
really nice config at the end, very cool
Great tool because shipping from to another terminal so hard sometime.
Please please consider doing ExpressJS in 100 seconds. Its super popular, so I'm surprised you haven't made a video about it. I would love to see a video about this framework
This could not have came at a better time.
this is very helpful and informative. thanks fireship. 🔥
Woah! It isn't advertisement video?! Finally, he awaken
Tmux is great. And you managed to tick off the screen and vim fans all in one video :)
Horse tinder never gets old
I honestly have no idea how to use nano and get stuck in it all the time, I usually use vim but sometimes something will be configured to open in nano and ZZ doesn't work i usually just close my whole terminal
Love to see the love for nano
I use neovim and tmux btw.
Pro tip: Replace your CapsLock key to Ctrl - Your fingers will thank you