Tmux has forever changed the way I write code.

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 1,1 тис.

  • @OswaldChisala
    @OswaldChisala Рік тому +456

    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  Рік тому +16

      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 Рік тому +823

    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.

  • @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.

  • @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.

  • @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!

  • @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 :)

  • @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"

  • @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

  • @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 UA-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!

  • @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.

  • @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!

  • @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

  • @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.

  • @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.

  • @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.

  • @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.

  • @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.

  • @wenijinew
    @wenijinew Рік тому

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

  • @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.

  • @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!

  • @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/

  • @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 ❤

  • @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 ❤

  • @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!

  • @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!

  • @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!

  • @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.

  • @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.

  • @stevenrodriguez2882
    @stevenrodriguez2882 9 місяців тому

    This is honestly the best tmux setup anyone has posted, 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

  • @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 :)!

  • @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!

  • @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

  • @joshuamorris9597
    @joshuamorris9597 Рік тому

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

  • @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.

  • @thefiredman0
    @thefiredman0 Рік тому

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

  • @256k_
    @256k_ Рік тому +5

    finally a modern well produced sensible tmux walkthrough. thanks!

  • @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.

  • @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

  • @sidekick3rida
    @sidekick3rida 8 місяців тому

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

  • @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!

  • @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.

  • @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!

  • @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.

  • @ezekiel9127
    @ezekiel9127 8 місяців тому +1

    This tmux config is truly zenful, a blessing indeed.

  • @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

  • @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.

  • @Void_Dragon
    @Void_Dragon Рік тому +9

    RIP Vim creator, he passed away recently.

  • @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

  • @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.

  • @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

  • @CapFilin
    @CapFilin Рік тому +3

    Great video. Imagine how long took to make those animations

  • @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

  • @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.

  • @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.

  • @jpalacios117
    @jpalacios117 2 місяці тому +4

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

  • @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.

  • @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

  • @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!!

  • @spicynoodle7419
    @spicynoodle7419 Рік тому +3

    Zellij

  • @will_1536
    @will_1536 10 місяців тому

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

  • @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

  • @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.

  • @kindabluejazz
    @kindabluejazz Рік тому

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

  • @summerWTFE
    @summerWTFE Рік тому +2

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

  • @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

  • @centr0
    @centr0 Рік тому

    that C-Space binding saved my fingers. thank you

  • @johanyngman7793
    @johanyngman7793 Рік тому

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

  • @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

  • @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.

  • @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 😅😅

  • @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.

  • @soffizatyon
    @soffizatyon 10 місяців тому

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

  • @aftamohd
    @aftamohd 27 днів тому

    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

  • @NishanBista-mh2gk
    @NishanBista-mh2gk 2 місяці тому +1

    best guide for tmux & nvim

  • @PaulCherepnin
    @PaulCherepnin Рік тому +1

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

  • @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 🔥.

  • @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

  • @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

  • @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.

  • @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!

  • @dzisonline
    @dzisonline Рік тому +2

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

  • @ivlis.w8630
    @ivlis.w8630 Рік тому

    This helped me start using tmux in so many ways

  • @danta.4023
    @danta.4023 3 місяці тому

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

  • @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.

  • @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.

  • @adityachoudhary1637
    @adityachoudhary1637 Рік тому

    mighty impressed by your setup, it inspires me to learn and use vim
    will try it out.

  • @pooyanisalmani2844
    @pooyanisalmani2844 9 місяців тому

    this video was amazingly complete and clear to understand.
    you are my personal Jesus, man thanks for saving me

  • @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.

  • @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 (:

  • @Carltoffel
    @Carltoffel 6 місяців тому +1

    In case you don't use xterm (as I suppose most of us don't), you have to adapt the line with `terminal-overrides`. In my case, I use alacritty and my TERM environment variable says `alacritty`, too, so I have to write `set-option -sa terminal-overrides ",alacritty:Tc"`.

  • @JoelTornatore
    @JoelTornatore Рік тому

    Great video. I started using vile (VI Like Emacs) for it's multi-buffer and ctags support, then added in screen. I love the setup, but it might be time to move on. Thanks for the tips!

  • @JonLikesStats
    @JonLikesStats Рік тому

    My tmux game needs work. Great video.

  • @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.

  • @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 😂

  • @MohitKhare
    @MohitKhare Рік тому

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

  • @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