Tmux has forever changed the way I write code.

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ย. 2024

ความคิดเห็น • 1.1K

  • @OswaldChisala
    @OswaldChisala ปีที่แล้ว +454

    This video actually seems organized enough that someone like me who has never used TMUX could actually try to get it up and running. Thanks, mate!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +15

      Thank you! Glad you enjoyed it!

    • @j0131n
      @j0131n ปีที่แล้ว +6

      same feeling, I might give tmux a try just because of this.

    • @supertrooper6011
      @supertrooper6011 ปีที่แล้ว

      tmux for the peasants

  • @brianloomis5361
    @brianloomis5361 ปีที่แล้ว +266

    To easily remember vertical and horizontal splits, just add this
    bind | split-window -h
    bind _ split-window -v
    Then, you can split the window with a visual reminder of where you want the divider.

    • @xani666
      @xani666 ปีที่แล้ว +7

      I do
      bind \\ split-window -h
      bind - split-window -v
      just so I don't need to press shift,

    • @LPFan33
      @LPFan33 ปีที่แล้ว +11

      I have single binding that splits the pane over the longest axis, like bspwm does. No more need to think about which direction and which key binding I need.

    • @hoo2042
      @hoo2042 ปีที่แล้ว

      Check out the tmux-pain-control plugin, which collects this suggestion and several other common pane navigation tips from the community. The only difference is that it uses `-` for normal horizontal split and `_` for "full width split".

    • @amarakon1243
      @amarakon1243 ปีที่แล้ว +2

      ​@@LPFan33How did you do that?

    • @supertrooper6011
      @supertrooper6011 ปีที่แล้ว +33

      lol - you may have reinvented the wheel there... thats what the defaults are meant to do (I agree its not that intuitive): double quotation (") looks like two things side by side and splits vertically, percent (%) is one thing over another and splits horizontally

  • @TheAMadMan
    @TheAMadMan ปีที่แล้ว +822

    You should do a pull request for your better setup as a sane default. Open source needs better defaults in general to make and keep users.

    • @remosenekowitsch2609
      @remosenekowitsch2609 ปีที่แล้ว +45

      Zellij has sane defaults, you might want to check that out. Changing defaults after the fact is not a good idea, since it's a breaking change for users that stuck to the default, which will alienate your existing user base.

    • @somerandomchannel382
      @somerandomchannel382 ปีที่แล้ว +39

      i love when someone pick up something like vscode, doesnt learn it at all and goes to learn something else. you can do all that tmux stuff in vscode . also your video should display why tmux is good , and then if people want to, make a video how to setup, i dont understand the concept of this video at all :D

    • @ChaoticNeutralMatt
      @ChaoticNeutralMatt ปีที่แล้ว +26

      ​@@somerandomchannel382 this should probably be a main comment?

    • @zizlog_sound
      @zizlog_sound ปีที่แล้ว +26

      @@somerandomchannel382, VSCode comes from a company preferring to write proprietary code. Who knows why VSCode is OS. Well, at least there is the MS type of Telemetry in there. Remember, MS bought Github back in 2018 and they sunset (retired/ shelved) Atom at the end of 2022. Speaks volumes.
      Why have bloated IDE when can achieve your goals with something like tmux, gcc and gdb. All FOSS and from the community.

    • @exnihilonihilfit6316
      @exnihilonihilfit6316 ปีที่แล้ว

      ​@@zizlog_soundNothing wrong with telemetry, you irrational, hysterical NPC.

  • @gamerscodex5454
    @gamerscodex5454 ปีที่แล้ว +76

    have always loved tmux, loving your extra config options that I haven't thought of before! Mouse support is a boon and has been part of my config since I learned about it, I also changed the vertical & horizontal split keybinds to the "[" and "-" keys respectively as they represent the direction of the split.
    I didn't realize tmux had its own package/plugin manager, that is really cool!
    Thanks for sharing!!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +5

      That's awesome to hear! I'm glad I got to share something new with you.

  • @trowadeath
    @trowadeath ปีที่แล้ว +40

    I've done 2 week test runs on both VIM with TMUX and EMACS. Both times I decided they were solutions to problems they created while also adding a ton of work for configuration and mental overhead remembering how it all works. For now, I've decided my zen is zero config. I can download whatever IDE I want, pull from Git and go.
    Maybe one day I'll dedicate a longer period of time to trying it out, maybe a month or two because I think having everything set up like this is just cool. Thanks for the video, if I ever do try again I'll reference this.

    • @redmastern576
      @redmastern576 ปีที่แล้ว +2

      Honestly. Only use tmux for running an application in the background instead of systemd or compiling for runtime use.

    • @wawbagel
      @wawbagel ปีที่แล้ว +2

      Start with VIM plug-in for the ide/editor you already use. Learn VIM motions. It won’t be smooth at the beginning but then the magic happens. After that you’ll just want to migrate to NeoVIM. It’s natural. :)

    • @trowadeath
      @trowadeath ปีที่แล้ว +2

      @@wawbagel thanks for the recommendation. I'll give it a try. I heavily use home, end, and Ctrl+arrows for fast horizontal movement which is already pretty efficient. I'll have to see what it feels like.

    • @rallisf1
      @rallisf1 ปีที่แล้ว +3

      Exactly how I feel. I am more than comfortable with the cli but unless you have a potato computer that can't handle electron apps; there are many great IDEs out there.

    • @wawbagel
      @wawbagel ปีที่แล้ว +4

      @@rallisf1 believe me, I was all in when it comes to IntelliJ and stuff like that for years. I use neovim exclusively these days. No mouse usage, no wrist pain, buttery smooth workflow. It’s amazing.

  • @naavidmorshed5516
    @naavidmorshed5516 ปีที่แล้ว +91

    Liked, subscribed and saved to my playlist. Currently trying my best to learn vim keybindings, tmux, shell scripting while juggling through college courses.
    I couldn't be more thankful for this video. Hope you upload as frequently as possible. Cheers!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +10

      Thank you! I appreciate the feedback.

    • @seowlfh3731
      @seowlfh3731 ปีที่แล้ว +4

      Good luck ! Learn bits by bits, and make it manageable for yourself~

    • @marcuswest4572
      @marcuswest4572 ปีที่แล้ว

      thoughtbot on TH-cam has some stuff from the Boston Vim Conference

    • @gregoryshields4258
      @gregoryshields4258 11 หลายเดือนก่อน

      You won't regret it. But I'm sure you already know that.

    • @Theosibo
      @Theosibo 9 หลายเดือนก่อน +1

      I wish I had gone to the 'trouble' of learning vim motions with a terminal based workflow when I was taking my college courseload for CS. The MVP skill I learned during THAT process (and am still learning) is that slowing down and reading docs carefully is the fastest path to solving your problems. Not stack overflow and google searches. Going through the vim motions/terminal process slowed me down when coding allowing WHAT I was coding to fully sink in too. It just improves learning and absorption overall and I'd recommend ANY and all learners add it to their list of workflow improvements. Stick to it!

  • @josesanchezfernandez9043
    @josesanchezfernandez9043 ปีที่แล้ว +23

    Amazing video as always! I was using tmux but didn't know about the plugins that you can install, my workflow just improved a lot with this!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +5

      Yay! Hopefully it adds some value :)

  • @SameenIslam
    @SameenIslam 3 หลายเดือนก่อน

    It would've taken me much longer to learn everything from scratch and implement this workflow, but following your method, I've now got a very sensible setup. Many thanks for sharing your hard work!

  • @oscarcastillejo9685
    @oscarcastillejo9685 ปีที่แล้ว +95

    7 min and I love everything about the video, format, audio, narrative, visual and a good knowledge foundation, you got me, new subscriber here waiting for more content like this, keep the hard work because is definitely paying off 🎉

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +4

      Thank you for the lovely feedback!

    • @attilapapai5449
      @attilapapai5449 ปีที่แล้ว

      I can only repeat what you say, another sub here

  • @AugustoFnrd
    @AugustoFnrd ปีที่แล้ว +4

    Thank you for sharing free knowledge!
    I started using tmux this year only to keep my vps' ssh sessions saved, then after little time I started using it for parallel tasks, but still only in the vps because it is headless... My local machine is running Windows and I use a lot of built-in helpers from IDE's when writing code, that leads me to lots of mouse interactivity, I didn't like much of the keybindings in tmux and was lazy to change it, after seeing this video I will try harder to use it for local terminal productivity!
    Great tips and thanks again for the config copy paste! Subscribed!
    edit: add comma, fix "interactivity"

  • @gunstorm05
    @gunstorm05 ปีที่แล้ว +18

    Thanks for this! I'm actually coming from using byobu, which is a wrapper around either screen or tmux (as in, a configuration choice). It offers a bunch of F-key bindings that I've really liked, as alternatives to using the prefix every time. Things like using F2 for creating a new vertical split, or shift+F2 for a horizontal.
    Those things alone had me very hesitant to try switching to raw tmux, until I started having issues with re-attaching to sessions recently. And this video came about right in the perfect time to switch!

    • @richardgraham3537
      @richardgraham3537 ปีที่แล้ว +1

      Have you made the switch from byobu yet? I'm interested to hear whether it's been a worthwhile change for you.

    • @gunstorm05
      @gunstorm05 ปีที่แล้ว +1

      @@richardgraham3537 I have, and it has - I switched to a minimalist theme that makes it gorgeous

  • @EndsCreed
    @EndsCreed หลายเดือนก่อน

    I had never used Tmux or Vim before stumbling across your channel. Decided to setup Tmux with Vim and use most of the settings you used in your video. Gotta say.... Tmux and Vim are very quickly growing on me. Thanks for the video and getting me into them!

  • @Niklaos
    @Niklaos ปีที่แล้ว +7

    Great little video on how to configure tmux. I've been using it for years but had never gone through the effort of making it "nice". This video prompted me to do it. Even though some of the configurations that you used didn't work for me this was a great framework.

  • @typecraft_dev
    @typecraft_dev ปีที่แล้ว +6

    Great video, the config looks awesome! (and damn, nice editing)

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +2

      Thank you for the feedback! I love your videos as well.

  • @rayanez
    @rayanez ปีที่แล้ว +21

    Excellent video. I learned tmux many years ago, but I didn't know about the package manager or the neat vim integration. The only thing for me is that I learned tmux by reading the book `Tmux 2` by Brian P Hogan, and I really liked his key bindings, specially I decided to change prefix from Ctrl-b to Ctrl-a and switch in my keyboard the Ctrl and Tabs keys, in that way is much faster to type the Tmux commands, also his keybindings to split the window are more mnemonic, using ` -` and ` |` to split horizontally and vertically

    • @mcfnord
      @mcfnord ปีที่แล้ว

      i use tmux with screen, amd screen needs ctrl-a

    • @rayanez
      @rayanez ปีที่แล้ว

      @@mcfnord interesting, but why would you use tmux and screen, my understanding is that they serve the same purpose

    • @mcfnord
      @mcfnord ปีที่แล้ว

      @@rayanez I'm told here that tmux can detach a process, so screen might not be needed anymore.

  • @tandlose
    @tandlose ปีที่แล้ว +41

    great video. What really made tmux work for me is actually to ignore most of the functionality. I basically only use sessions and windows. I never use panes, copy mode or any other features. Having this limited feature set lets me use alt as a standalone prefix key. So i can navigate between windows with alt-h and alt-l, and i can navigate between windows with alt-j and alt-k. Its so much more ergonomic than having to prefix everything, especially when you want to quickly toggle between windows or sessions

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +15

      That's awesome! For me, I love panes too much on larger displays, but I can see how this works amazingly on a laptop.

    • @mcfnord
      @mcfnord ปีที่แล้ว +1

      Big pane fan here, but really wasn't aware of multiple windows in multiple sessions.

    • @othernicksweretaken
      @othernicksweretaken ปีที่แล้ว

      Even without rebinding keys I find it easy to toggle switch between windows with _ctrl-b l_ and between panes with _ctrl-b ;_ .
      But I found some of the remaps shown in the video pretty useful and will probably adopt them.

  • @dnlgrhm
    @dnlgrhm 10 หลายเดือนก่อน +1

    I had no idea what tmux was until I saw this. Now I've copied all (except for gruvbox colors) and love it. Many, many thanks!

  • @Maxelya
    @Maxelya ปีที่แล้ว +16

    Thanks a lot for sharing this config. I've been playing with Neovim and Tmux for almost a year now but being a dad with close to no free time so I never had a chance to optimize my configuration as much as I initially intended to (installed a meh theme and vim keybindings and called it a day).
    There are a lot of interesting things in your config : C-Space as the prefix sounds like a really good idea and being able to use C-HJKL to move from a Neovim split to a Tmux pane is a gamechanger.
    I've still no idea when I'll be able to try this out but it sure seems like you've made me save a lot of time. o/

  • @Wolle704
    @Wolle704 ปีที่แล้ว +1

    I am using tmux for a while now. I just added rectangular select and split in current pane‘s directory to my config. I didn‘t even know that the latter was possible. Thank you.

  • @Comrade_Tux
    @Comrade_Tux ปีที่แล้ว +33

    I already use Tmux + neovim but still find this video useful. I didn't know about a few of the keybind changes. The change you made for copying in tmux looks very useful. Default is hard to remember because I don't use it a lot. That plugin to let you switch panes while in neovim will be great too. Thanks.

  • @mick_io
    @mick_io 7 หลายเดือนก่อน

    Reporting back after using tmux for a few months. This video has changed how I work for the better. Thank you!

  • @FunctionGermany
    @FunctionGermany ปีที่แล้ว +19

    i'm a nano warrior when it comes to the terminal (i develop in vscode) but pretty much all the tmux config you showed off is amazing! especially that last one to spawn panes in cwd, that will save me hours of my life xD

    • @slashd0t1
      @slashd0t1 ปีที่แล้ว +5

      I used to be a vim inside vscode kinda guy but after trying out neovim; it's so much faster and nicer

  • @TristanJVShow
    @TristanJVShow 3 หลายเดือนก่อน

    I like your configuration so much.
    I added two plugins to my configuration:
    - tmux-ressurect: to save and restore my session
    - tmux-continuum: to automatically save and restore my session
    Now I have to watch your video on the chad neovim!
    Continue like this! You're awesome!

  • @janvanveldhuizen
    @janvanveldhuizen ปีที่แล้ว +8

    Awesome! I recently changed from a tiling window manager to Cinnamon, because I got tired of making scripts and custom keybindings for all features that Cinnamon offers out of the box. Tmux brings the tiling experience back in the terminal, where live most of the time. Your video gives me a kickstart for my own tmux setup. Thanks!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      You're very welcome!

    • @nobeltnium
      @nobeltnium ปีที่แล้ว

      hmmm, i normally see people going from free float to tiling. And you are the opposite. Is there something special about Cinamon that make you switch to it?

    • @janvanveldhuizen
      @janvanveldhuizen ปีที่แล้ว +1

      @@nobeltnium Yes, I agree that it's not a usual move. And I really miss the automatic tiling. But a real desktop environment does so many things out of the box, that I previously needed shell scripts and extra shortcuts for. Managing different monitor setups automatically, managing the start up apps, automatically switch to head phones, and a lot more.
      I know this can all be done with i3 or bspwm as well, but each and every change in your config change needs to be handled by changing your dotfiles or shell scripts. I have the feeling that everything just runs more smoothly now.
      Also, I use Jetbrains Rider as my IDE, which isn't working nicely with tiling window managers.
      Apart from that, I am still missing the auto
      tiling and ctrl-arrow to switch between the windows.

    • @nobeltnium
      @nobeltnium ปีที่แล้ว

      @@janvanveldhuizen The only tiling i ever really use is Gnome (intergrated in Pop!OS and can be toggled between free float or tiling windows) . And it does every thing you mention above very well. Sound, multi display, graphics card you name it. Just plug and play, no fiddling with dot file or what so ever. Tbh it's the only tiling WM i use heavily till this day (i use i3 on my laptop, but rarely. And it doesn't have a speaker nor mic and i don't use multi display on it so idk how painful it will get to get them working).
      I recommend you try it if you haven't. I think it's just what you need. It's basically a DE with tiling on top of it

    • @janvanveldhuizen
      @janvanveldhuizen ปีที่แล้ว

      @@nobeltnium pop os is a good idea, actually. I'll give it a try.

  • @stevenrodriguez2882
    @stevenrodriguez2882 9 หลายเดือนก่อน

    This is honestly the best tmux setup anyone has posted, thank you

  • @mambodogg
    @mambodogg ปีที่แล้ว +17

    This is another awesome video to tweak my tmux experience and maximize the comfort of using it 🎉 Thank you for your effort and making the lives of developers better ❤

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      I'm glad to hear you liked it!

  • @OutworldDestroyer
    @OutworldDestroyer 9 หลายเดือนก่อน +2

    Great video. I was a user of tmux for many years but since I’ve switched to a Linux desktop I only use it remotely on my servers. My main work is simply done with the kitty terminal. No need to complicate this further. but if you need the remote feature, tmux is pretty neat.

    • @senantiasa
      @senantiasa 9 หลายเดือนก่อน

      I don't understand. I also use a Linux desktop, but I still use tmux. What's the problem with using Linux desktop and tmux? I have guake installed and set it to run tmux instead of bash so that I only need to press F12 to access tmux.

  • @RoryDavidWatts
    @RoryDavidWatts ปีที่แล้ว +19

    I appreciate the video, and I think you've done a great job with it. I've used tmux and vim, and still use vim bindings all the time today. In the end, I just think tmux, and a lot of terminal based IDE solutions are yak-shaving, and for the median person, retract value rather than adding it. VSCode provides 80% of what people need out of the box and takes no time at all to set up or think about. Reducing cognitive overhead (by not learning new programs etc.) is often a better solution to doing your work than trying to squeeze out marginal efficiency gains in code-per-minute. For me at least, even if i'm 10% more efficient in writing code, or some other metric, I don't really get much more done in a week or year, because coding efficiency is a small contributor to efficiency. Having clear goals, articulating what I want, etc., make more difference than anything related to coding ever could.
    Sorry for the rant, and I think you've done a great job with the video. I think for most people, if they like the aesthetic of using tmux, they should do it, but I don't think it will help people the way they secretly hope it will.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +11

      One of the biggest factors for me in using Tmux, Neovim and (sometimes) emacs is philosophical, more so than anything else.
      I personally prefer foss options where possible and tend to think they're all great projects. Not everyone thinks like I do of course, but Tmux still has had a massive impact on the way I write code.
      But then, I also have a workflow that I wouldnt be able to recreate in something like VSCode.

  • @olivierlasne2346
    @olivierlasne2346 ปีที่แล้ว

    I used tmux for years, but I never got into configuring it. Thanks for improving my workflow

  • @andreasguettinger6706
    @andreasguettinger6706 ปีที่แล้ว +13

    Very nice introduction to tmux, this helped me a lot setting it up.
    On macOS with Alacritty I had to make some minor adjustments, but with some digging around I got it to work perfectly.
    First, C-Space is used on mac to switch keyboard layouts, so either you have to unbind those or use a different prefix.
    Second, the lines at 09:10 didn't work for me to get the correct colors in NeoVim, instead what worked was:
    set -g default-terminal "screen-256color"
    set -ag terminal-overrides ",xterm-256color:RGB"
    But everything else worked great. Thanks.
    (PS: Above also works in iTerm2)

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +4

      Thank you for sharing the changes! I'll be getting a Mac for on the go video editing in the near future so this will help me when I need to dip into a terminal

    • @vav17NL
      @vav17NL 11 หลายเดือนก่อน

      Man, I was going crazy not being able to figure out why C-b was working but C-Space was not. You really made my day way better. I just had to disable the Mac change keyboard layout shortcut. Thanks a lot :)!

  • @aftamohd
    @aftamohd 26 วันที่ผ่านมา

    Few suggestion...
    bind-key r command-prompt -p "Rename window: " "rename-window '%%'" # rename the window
    bind -n S-Right next
    bind -n S-Left prev # helps to move easily between session
    bind -n S-Up new-window # creates a new tmux tab
    set-option -g status-position top # when using nvim - the status bar on top on tmux looks good
    set -s set-clipboard on

  • @vitriowibisono2875
    @vitriowibisono2875 ปีที่แล้ว +9

    Well most of the guides ive found were not mentioning about window index and yank (i need these). It seems they stuck at old conf using xclip and pbcopy. Good stuff

  • @angelogabrielholandinifrei3700
    @angelogabrielholandinifrei3700 7 หลายเดือนก่อน

    this video is perfect! i learned a LOT about tmux in only 13 minutes. I never saw tmux before, but now I'm obsessed! thank you ❤

  • @danhintz7306
    @danhintz7306 ปีที่แล้ว +6

    Great video! I've always wanted to start using tmux, and this video definitely helps ease into it with some great styling tips. Thank you!

  • @dootdoot756
    @dootdoot756 ปีที่แล้ว +2

    Another tip for people with non english keyboards. Characters like öäüéàè are never bound to anything and are very conveniently located. So you get free special keys at no cost. I use ä/ü for splitting vertically/horizontally.

  • @RogerLipscombe
    @RogerLipscombe ปีที่แล้ว +2

    Great video. One thing I've found useful in tmux is the ability to type into several panes at the same time. I have -y bound to "setw synchronize-panes". This is useful for managing multiple servers where (say) I want to "sudo apt upgrade" all of them at once.

  • @Ozku9
    @Ozku9 ปีที่แล้ว +4

    Hey, just wanted to say that I really appreciate your videos. Your entire channel has been a blessing in the world of hours long videos without clear or concise structure.

  • @1234minecraft5678
    @1234minecraft5678 2 หลายเดือนก่อน

    Comming back to this vid, after using this config + some tweaks i have to say it sure feels natural as a vim user. i forgot some that some of the settings were changed because it just felt so natural. Well done!

  • @codeman99-dev
    @codeman99-dev ปีที่แล้ว +15

    4:12 I started changing the prefix to ^G as that is less likely to interfere with other input for me. It's also extremely central, and only one key up from the default.
    Reminder that ^B is often used as backspace in readline based editing, as well as some editors that don't use vim bindings.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +3

      ^G is good. You're correct, that's the main reason why I rebind from ^B. Space for me is a similar reason as G but just down one :)

    • @samgould8567
      @samgould8567 ปีที่แล้ว

      I’ve been using ^S and ^Q for about 12 years (corresponding to outer and inner/remote tmux sessions), as those bindings turn echo off and back on again, respectively, something I very rarely want to do. I accompany this with the appropriate config in my shell startup files to disable that tty feature.

    • @olehdevua
      @olehdevua ปีที่แล้ว

      I eventually come to "back quote" as prefix

  • @GokayBURUC
    @GokayBURUC 11 หลายเดือนก่อน +1

    This video actually gives me inspiration and enthusiasm for coding. I left aside my preconception about programming can be only in Microsoft products after started to use Nvim + Tmux combination. I hate Microsoft monopoly at software development so this kind of projects such as tmux, noevim, nvchad etc. gives me the feel of freedom.

  • @ToyKeeper
    @ToyKeeper ปีที่แล้ว +3

    I've been pretty happy with gnu screen + mosh, for persistent remote terminals I can connect to from anywhere, optionally auto-reconnecting with mosh. Plus Vim, of course. And a heavily customized zsh. I haven't really wanted sub-window management inside a single window though, since I have features like that built in to my X11 window manager... Sawfish with a bunch of customization to handle tabbed windowing and tiling and keyboard navigation and stuff. But someday, perhaps I'll finally switch from screen to tmux.
    Edit: Er, for non-remote use... I don't bother. I routinely have a few hundred shells open, and that's way too much to be usable in screen or tmux. I only use screen/tmux for a small handful of tasks where I need access to a single session from more than one host. Sawfish does the rest, since it handles hundreds of windows easily.

  • @klc3rd
    @klc3rd 3 หลายเดือนก่อน

    I’ve been using tmux for years and I’ve never once considered customizing it. I’m gonna have to try this.

  • @SmirkInvestigator
    @SmirkInvestigator ปีที่แล้ว +13

    This is very similar to my setup back in the day. Using vim like navigstion to scroll through sessions, panes, and windows is so much easier than any other multi view management. Detaching and attaching sessions, and fullscreen and you really could code on any size screen. Still prefer it over VS Code but VS Code has some specific performant features and perks I need more these days. I hope good copilot and ai integrations for vim come in soon.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +11

      We have copilot for Neovim 😎
      It's pretty good as well

  • @ezekiel9127
    @ezekiel9127 8 หลายเดือนก่อน +1

    This tmux config is truly zenful, a blessing indeed.

  • @baluditor
    @baluditor ปีที่แล้ว +11

    I think tmux-resurrect is one of the best plugins to have.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +2

      I've played with it but yet to integrate it into my workflow (I sometimes like a clean slate). I may have to give it another go though!

    • @rozarioagro5532
      @rozarioagro5532 ปีที่แล้ว +3

      I used it, but later I found that tmuxp is a better choice. It supports layouts, naming, environments, etc. If for example you are working with python, it can easily open windows with specific venv activated (tmux-resurrect does not support such options).

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      @@rozarioagro5532 I shall give it a go!

  • @sanketss84
    @sanketss84 หลายเดือนก่อน

    superb this is my first time running tmux on terminal and I was able to follow through and get things configured. thank you for your help.

  • @256k_
    @256k_ ปีที่แล้ว +5

    finally a modern well produced sensible tmux walkthrough. thanks!

  • @sidekick3rida
    @sidekick3rida 8 หลายเดือนก่อน

    Thanks for this! Small correction: 4:57 ➠ + % = split pane vertically, + " = split pane horizontally

  • @jpalacios117
    @jpalacios117 2 หลายเดือนก่อน +4

    growing up is just rawdogging the terrible keybindings in tmux and vim.

  • @MrShidimaOne
    @MrShidimaOne ปีที่แล้ว +1

    Great video. I had been using Tmux for a while but dropped it on my recent install of Ubuntu because I couldn't get the colors fixed. But now I finally have it working thanks to this video! Keep up de awesome content!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      That's great to hear! Thank you for the feedback!

  • @Void_Dragon
    @Void_Dragon ปีที่แล้ว +9

    RIP Vim creator, he passed away recently.

  • @noapoleon_
    @noapoleon_ 8 หลายเดือนก่อน

    The best part to me and the real benefit of such a config over an IDE is that it works seamlessly over SSH
    I move around a lot and code from different computers sometimes
    But being able to open one terminal, SSH into my server at home and start coding in my own environment from any PC really is a godsend
    Not to mention it means I don't have to reboot when I'm coding for Linux only for my friends to want to play something on windows 5 minutes later

  • @gregmattes4513
    @gregmattes4513 ปีที่แล้ว +3

    Emacs has had this sort of thing built-in for quite some time: split-window-below and split-window-right, ordinarily bound to C-x 2 and C-x 3, respectively.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      I really like emacs, but I've always struggled with elisp and the shell modss.
      Evil mode does make it more viable however.

  • @SpaghettiRealm
    @SpaghettiRealm 3 หลายเดือนก่อน

    I'm tmux beginner, and this video is well put. thank you! But I noticed that s is like w, the s just make the tree folded but you can use right arrow to open sessions > windows and navigate.

  • @CapFilin
    @CapFilin ปีที่แล้ว +3

    Great video. Imagine how long took to make those animations

  • @thefiredman0
    @thefiredman0 ปีที่แล้ว

    Thanks for teaching me tmux, a program that had laid dormant on my computer for many years, waiting to be used.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      May it lay dormant no longer!

  • @jordanebelanger3918
    @jordanebelanger3918 ปีที่แล้ว +222

    Not sure I understand how this changes anything, except for the part where you have to spend a tons of time to turn the editor into a brittle vscode with the VIM plugin 🤣

    • @bcharles9605
      @bcharles9605 ปีที่แล้ว +71

      Digital hipsters

    • @summerWTFE
      @summerWTFE ปีที่แล้ว +50

      Probably a JavaScript coder that uses right click to copy.

    • @fueledbycoffee583
      @fueledbycoffee583 ปีที่แล้ว +28

      @@summerWTFE the only added value i see here is the remote editing with SSH. but i dont see any other benefit? I love terminal as much as the next guy but i am perfectly fine with VScode

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +95

      Resource usage, ssh and pure keyboard control is another consideration. But if VSCode works for you, there's no need to change it. I personally dislike like electron apps and prefer FOSS when possible.

    • @fueledbycoffee583
      @fueledbycoffee583 ปีที่แล้ว +5

      @@dreamsofcode i dont mind FOSS. I just mind my experience feels fast. I used Webstorm for 4 years before switching to vscode because webstorm was a resource HOG! And yeah... i feel you on the electrons apps. I work with mongoDB and their db explorer is an electron app and OMG. It so bad. But i blame the devs not really the software. Vscode runs smooth and doesnt eat up much even when i have open a workspace of a fullstack platform using both vue and python.

  • @summerWTFE
    @summerWTFE ปีที่แล้ว +2

    Great tips. I also find the “resurrect” plug-in very handy.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      I need to give it another go!

  • @theaveasso
    @theaveasso ปีที่แล้ว +42

    Anyone is zellij fan here

    • @remosenekowitsch2609
      @remosenekowitsch2609 ปีที่แล้ว +3

      zellij is the best! I don't know why one would choose tmux over it.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +8

      There's a few of you in the comments. I see y'all and going to give it a try.

    • @aaronmcadam
      @aaronmcadam ปีที่แล้ว

      Yeah I switched to it a couple of months ago, it's a lot of fun

    • @Omikronik
      @Omikronik ปีที่แล้ว

      I love zellij keybinds veing so simple to remember

    • @vanvothe4817
      @vanvothe4817 ปีที่แล้ว +1

      I try zellij but it conflict keymap in Macos then I still use tmux

  • @defnlife1683
    @defnlife1683 ปีที่แล้ว +2

    Oh this came in a good time for me. I want to get into tmux so much.
    I found that figuring out the right bindings at all levels is a pain fo me.
    WM bindings + Vim + Terminal Emulator Bindings + Tmux. And then some standard plugin bindings. Geez.

  • @spicynoodle7419
    @spicynoodle7419 ปีที่แล้ว +3

    Zellij

  • @dzisonline
    @dzisonline ปีที่แล้ว +2

    I did not know tmux could do all of that. Thanks for sharing.

  • @chang112x
    @chang112x ปีที่แล้ว +5

    Terminator is far better and more user-friendly

    • @0xCAFEF00D
      @0xCAFEF00D ปีที่แล้ว +2

      Unconvinced. Make a 13:30 long well presented video on this.
      No but really can you provide just a few bulletpoints on why? I'm in the situation of trying to move to a better development environment and the list of things to evaluate is constantly growing.

    • @levdue6310
      @levdue6310 ปีที่แล้ว +6

      Terminator has a completely different usecase.
      Tmux is a terminal multiplexer and session manager.
      Terminator is a terminal emulator with some of tmux's features built in. But they are totally different programs. You could even use tmux inside of terminator.

    • @spencerwilson-softwaredeve6384
      @spencerwilson-softwaredeve6384 ปีที่แล้ว

      I also use terminator, but only because it has simple bindings for terminal splitting, tmux would definitely be a better choice in the long run if you are doing a terminal-based developer workflow

    • @michaelhoefler5118
      @michaelhoefler5118 ปีที่แล้ว +1

      This isn’t a good comparison. TMUX is a multiplexer you can use when SSHing into a server etc. Terminator is an actual gui terminal emulator application

    • @alexstone691
      @alexstone691 ปีที่แล้ว

      @@spencerwilson-softwaredeve6384 you can just remap tmux, i use | and - keys as it makes sense

  • @wenijinew
    @wenijinew ปีที่แล้ว

    Set true color: set-option -sa terminal-overrides ',xterm*:Tc' - This is very helpful. Thanks!

  • @joshuamorris9597
    @joshuamorris9597 ปีที่แล้ว

    Started using tmux after seeing this video. AMAZING. Using it for pairing now, love it.

  • @baconboi37
    @baconboi37 ปีที่แล้ว

    I watched your video on nvchad, had some issues with it so i spent hours configuring my own config and made a fully functioning thing thats comparible with vscode that also has copilot, you got me into neovim and with nvchad i was able to understand the basics so tysm dude you got me into neovim and now tmux

  • @will_1536
    @will_1536 10 หลายเดือนก่อน

    All these little navigation quality of life plugins are great! Thanks for bringing them to my attention

  • @jessechen6735
    @jessechen6735 ปีที่แล้ว

    Been using tmux with byobu for a while and I didn't know about the pane_current_path option. VERY COOL!!!
    Thank you for making this video.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      Thank you for the feedback! I appreciate it a lot.

  • @5h466y
    @5h466y ปีที่แล้ว +1

    I felt inspired to update my tmux config which I didn't touch since 2.2a. Back in the day, there were virtually no useful plugins for tmux, but now there's a whole ecosystem!. I took a lot of ideas from this video. Thanks!. btw: that catpuccin status bar theme is 🔥.

  • @centr0
    @centr0 ปีที่แล้ว

    that C-Space binding saved my fingers. thank you

  • @devbites77
    @devbites77 ปีที่แล้ว +1

    Thanks. That was a really helpful startup guide for tmux. I can't live without it!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      Thank you! I appreciate that 🙏

    • @devbites77
      @devbites77 ปีที่แล้ว

      @@dreamsofcode Are there any plans for a video on a good neovim setup for Python?

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      @@devbites77 there is! I've got a Go one coming out next, but python will be the following one I do in the VIM series

  • @AntonSozontov
    @AntonSozontov ปีที่แล้ว

    This is so cool! I spent the whole day setting up my tmux. You know what? This is brilliant!!! Thanks a lot for inspiring me!!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      I'm really glad to hear that!

  • @imagineiffcom
    @imagineiffcom ปีที่แล้ว

    basically the same config I have, very minimal. but I was able to pick up a couple additional tips I didn't have. very well done.

  • @johanyngman7793
    @johanyngman7793 ปีที่แล้ว

    Great video! I used it to configure my tmux. I especially like the vim bindings for yanking text from the terminal.

  • @kindabluejazz
    @kindabluejazz ปีที่แล้ว

    Learned some good tips. The base-index issue has always bugged me, that's the first thing I changed. Thanks.

  • @HdeHidratado
    @HdeHidratado ปีที่แล้ว

    Thank you so much. I used Tmux before, but the Mouse Scroll and Green Bar were deal breaking issues for me, so I stoped using it. Now I makes sence to go back, and I might finally be able to migrate fully to Nvim
    Thanks for the very well made video

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      Thank you for watching! I'm glad I helped someone get away from the horrible green bar 😅😅

  • @Gamewithstyle
    @Gamewithstyle ปีที่แล้ว

    I used to use tmux all the time but never realized it was this powerful! This is awesome!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      It's really useful! The plugins make it awesome as well.

  • @TheDuckPox
    @TheDuckPox ปีที่แล้ว

    Amazing! I used to use byobu but it's too opinionated and conflicts a lot with my LunarVim config so now I just use the neovim buffer split feature. Like others, I would change the split window key melodies to v and s

  • @mildlymusical4054
    @mildlymusical4054 ปีที่แล้ว

    A very well organised video, I wasn't expecting that you would go over tmux , I think this video should be the perfect starting point for anyone starting with tmux , thank you for your hardword

  • @Billiam112
    @Billiam112 ปีที่แล้ว

    Litterally got started with tmux as of yesterday. Perfect timing for this vid! Thanks!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      That's awesome! I hope this video helps

  • @Rbourk252
    @Rbourk252 10 หลายเดือนก่อน

    Yeah sweet instruction. I’ve been using Tmux for years. This suggested some different keybindings to mine that I may try out. Install Tmux resurrect too. That way if you shutdown the station, your session can be restored.

  • @onyxkane
    @onyxkane 10 หลายเดือนก่อน

    I know this video is very old ... but if you're seeing this I wanted to suggest that you should always tell something about the software that the video is about (tmux for this one), so that the uninitiated people who are just curious to learn something new can follow along the video. Thanks for the video!

  • @thraizz
    @thraizz ปีที่แล้ว

    I want to recommend tmuxinator, which manages tmux sessions. If I want to start the frontend project "foo" i'm currently working on, `tmuxinator foo` could start a tmux session with three windows, one for nvim, one for the development server (e.g. vite), one for running tests in watch mode. It will also set the working directory of the session, so that new windows will spawn in the right directory. You can also set layouts, create multiple panes per window and much more. For me, the cwd + pre-defined windows is enough :D

  • @thomasrichards8055
    @thomasrichards8055 ปีที่แล้ว

    I’ve been using the integrated tmux implementation of iTerm2 for so long I forgot how to use tmux itself! This will be super helpful as I start to use Linux more and more in my work.

  • @MohitKhare
    @MohitKhare ปีที่แล้ว

    Amazing. My only regret is why I didn't find this channel earlier.❤

  • @whitelinkker
    @whitelinkker ปีที่แล้ว +1

    Great video! Very smooth animations and great iconography. I've used tmux for a while until I had problems with ligatures or wayland with multiple terminal emulators, so I picked up wezterm which has it's own multiplexer, highly recommend checking it out! Haven't used tmux since I got used to it's own multiplexer.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      Thanks for the tip! I'll take a look at wezterm, sounds very interesting. I enjoy playing with new tools haha.

  • @PaulCherepnin
    @PaulCherepnin ปีที่แล้ว +1

    Great! Concentrated flow of useful information! And very inspiring as well
    👍

  • @andreakatone
    @andreakatone 7 หลายเดือนก่อน

    Old tmux user here! I recently changed my terminal multiplexer from tmux to zellij, I find zellij more modern and easier to learn. Tmux stills a good gold standard for remote servers.

  • @der.Schtefan
    @der.Schtefan ปีที่แล้ว

    Tmux has a great Integration with iterm2, and I used it to remember (and keep permanently running) all the open windows when sshing into the server I was working on.
    That's one of the best uses ever. Especially because iterm2 allows you to manage all windows and panes in the gui, instead of remembering dozens of commands.
    But for development I rather use vs code windows split up on my ultra ultra wide curved monitor, especially since the commands are actual written out

  • @bombrman1994
    @bombrman1994 ปีที่แล้ว

    I really enjoy those videos thanks to you I have setup my tmux and nvchad. I feel 10x more motivated to wake up and work on my rust rpg game. It's nothing special I just enjoy working on it for fun to add to my skills and use it for interviews as a deeply developed application.

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว

      That's awesome. I'm looking forward to seeing your game one day!

    • @bombrman1994
      @bombrman1994 ปีที่แล้ว

      @@dreamsofcode not going out it’s something I spit out code on

  • @ivlis.w8630
    @ivlis.w8630 ปีที่แล้ว

    This helped me start using tmux in so many ways

  • @danny.cuevas
    @danny.cuevas ปีที่แล้ว +1

    Liked and Subscribed!, this is some real good quality content and super educational, consider me a fan of your work my man XD
    Best of wishes from Mexico City (:

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +2

      Thank you! I appreciate that a lot!

  • @vadim_shashin
    @vadim_shashin หลายเดือนก่อน

    Been walking around tmux for years and decided to smash together a little tmux config
    Used nothing from this video but it was a sorta final signal for me that I should try 😂

  • @cjjb
    @cjjb ปีที่แล้ว

    Damn, I've been using tmux for years and never knew it had mouse support. Thanks!

    • @dreamsofcode
      @dreamsofcode  ปีที่แล้ว +1

      I'm a big fan of it when I'm being lazy!

  • @snooks5607
    @snooks5607 9 หลายเดือนก่อน

    it's kinda cute seeing people excited discovering features we've had in GNU screen since 1987

  • @soffizatyon
    @soffizatyon 10 หลายเดือนก่อน

    Really great video Sabine 👍🏼 it eally helps to understand about nuclear and energy production in general

  • @LouisRIGAUDFLEJOU
    @LouisRIGAUDFLEJOU ปีที่แล้ว +1

    I hope One day you make a video about you're beautiful terminal theme and configuration ^^

  • @bastiana3611
    @bastiana3611 4 หลายเดือนก่อน

    Rewatching just because. I noticed how much your voice has changed! :)

    • @dreamsofcode
      @dreamsofcode  4 หลายเดือนก่อน +1

      Better microphone & technique 😆 I think I was using the blue yeti for this one

  • @MichaelButlerC
    @MichaelButlerC ปีที่แล้ว

    Thanks for these videos. This convinced me to try to start using TMUX instead of splitting and making tabs in KDE Konsole UI. I have tried using GNU Screen in the past, and maybe it supports similar features, but tmux seems more interesting with the plugin and customization support! One of my biggest pain points with using screen was always getting long bits of text into my main desktop clipboard. but the fact I can enter copy mode, use PgUp to copy to a buffer, then save that buffer to a txt file easily could come in quite handy. I need to try to break my habit of always using the mouse.

    • @MichaelButlerC
      @MichaelButlerC ปีที่แล้ว

      Wow also just realized I can do PgUp and it will immediately enter copy mode and scroll up. So I can Ctrl Space then PgUp, PgUp, etc. really quickly. Not sure if that's native or part of tmux sensible but very nice.

  • @danta.4023
    @danta.4023 3 หลายเดือนก่อน

    thank you so much, this really helps me starting my tmux journey.
    SUBSCRIBED !