How I Use Tmux With Neovim For An Awesome Dev Workflow On My Mac

Поделиться
HTML-код
  • Опубликовано: 6 июн 2024
  • Hey guys! In this video I go through everything I do to setup Tmux and how I use it on the terminal to create a truly awesome development workflow alongside the Neovim text editor. This video is part of a series I've been doing on my terminal setup and my software development workflow. Tmux is the final ingredient that brings everything together for an awesome experience writing code on the terminal. I hope you guys enjoy it!
    Help Support Me And The Channel: www.buymeacoffee.com/joseanma... 🙏🏽
    ✍🏽 Blog Post for Reference: www.josean.com/posts/tmux-setup
    🚀 My Dot Files: github.com/josean-dev/dev-env...
    Terminal Setup Video: • How To Make Your Borin...
    Neovim Setup Video: • How I Setup Neovim On ...
    ⏰ Timestamps
    00:00 - Introduction
    01:40 - Installing Tmux
    02:05 - Creating the Config File
    02:28 - Configure True Colors
    02:43 - Changing the Default Prefix
    03:43 - Working with Sessions
    04:54 - Working with Panes
    08:54 - Navigating b/w Tmux and Neovim
    11:25 - Working with Windows
    12:40 - Practical Examples
    15:55 - Configuring Vim Movements
    16:49 - Copy Mode and Vim Movements
    18:19 - Adding a Theme
    19:08 - Persisting Tmux Sessions Across System Restarts
    20:24 - Conclusion
  • НаукаНаука

Комментарии • 373

  • @joseanmartinez
    @joseanmartinez  Год назад +54

    Hey guys! I wanted to clarify that whenever you type out the prefix, in this case “Ctrl+a” as I’ve configured it, make sure you press these two keys at the same time, release them, and then type the tmux specific command to execute. Also, if you'd like to use "hjkl" to resize panes but only be able to tap these keys once, remove the "-r" option for each of these binds in ".tmux.conf". Finally, if you’d like to save your sessions manually with tmux-resurrect, you can use “prefix + Ctrl-s” to save and “prefix + Ctrl-r” to restore. Hope you enjoyed the video!

    • @user-mv4oh8yp1y
      @user-mv4oh8yp1y Год назад

      Can you create an intro about how to use DAP for debugging in neovim?

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj Год назад

      what split keyboard do u have ? :d

    • @reedamranjan6367
      @reedamranjan6367 10 месяцев назад

      Bro all the neovim commands dont work in the tmux sessions , how to fix that ? for example if we try to move in the recommendations using ctrl + j/k we cannot do that , also if we try to create a new split in neovim along with tmux we can navigate to only one window of the neovim and not the other one

  • @thomasnaderer7329
    @thomasnaderer7329 Год назад +58

    I was afraid of the terminal and vim for such a long time, but your tutorials really brought it all together. One of the best tutorials I have ever watched! Thank you a lot!

  • @afrijaldz
    @afrijaldz Год назад +2

    Can't stop watching your tutorial on setup terminal, tmux, nvim since last night. Your contents are so awesome!
    thank you Josean

  • @ankitkumarsingh9815
    @ankitkumarsingh9815 Год назад +28

    Each of your tutorial videos are gem! Trust me, no one makes a video as easy to understand as you make. Thanks a lot :)

    • @joseanmartinez
      @joseanmartinez  Год назад +2

      I really appreciate that, thanks!

    • @ankitkumarsingh9815
      @ankitkumarsingh9815 Год назад +2

      @@joseanmartinez if possible, then please make a descriptive video on debugging in nvim too. Watched other videos and read blogs, but it doesn't seems to be working out.

  • @RT-jp9me
    @RT-jp9me Год назад +2

    Thank you so much for producing this video. I never understood what TMUX did or why I should be using it. You have really explained everything so clearly and made set up and customization easy! Love your content.

    • @joseanmartinez
      @joseanmartinez  Год назад

      That’s awesome! Thanks for your feedback, really appreciate it!

  • @sebastianprehn
    @sebastianprehn Год назад +3

    Great series, Josean! You made me make the jump to Neovim and Tmux after years of using Emacs with vim bindings, and so far I'm loving it!

  • @mkum2141
    @mkum2141 Год назад

    I've been following along with the entire series and its been great fun. Thanks for putting this out.

  • @alexandrostsagkaropoulos
    @alexandrostsagkaropoulos Год назад

    The information in this video series are outstanding. Keep up the good work!

  • @crazytechguy5735
    @crazytechguy5735 Год назад +5

    Yup, I am into this customization series from the very beginning. Tmux was just new topic for me. I installed the package may be just week earlier as I required terminal tab features but hadn't touched much of it. The very thing of having to learn from zero was dragging me off. This is exactly the nugget I required to start my tmux journey. Thanks Josean. Will be waiting for next episode. Keep the good work up.

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      Hey! Really happy to hear that. Glad I could help and appreciate the feedback!

    • @shadowangel8005
      @shadowangel8005 Год назад

      Zellij is another option, easier and you can write templates to configure the layout.

  • @cliffmapesa9390
    @cliffmapesa9390 8 месяцев назад +1

    This the best introduction to tmux I have come across. You've gained a new subscriber. Great explanation

  • @An_urysm
    @An_urysm 10 месяцев назад

    Watched a bunch of tutorials regarding this subject of tmux and I was finally able to understand it by just watching this tut. Thank you bunches!

  • @tamasbalint1597
    @tamasbalint1597 Год назад

    Fantastic video. Just what I was looking for. Thank you Josean. This is great help for so many developers.

  • @turalhajiyev9029
    @turalhajiyev9029 Год назад

    Your videos are helping me a lot to move to nvim / tmux. Thank you for making this series!

  • @kg13
    @kg13 4 месяца назад

    Thank you so much, I always thought as a full-stack developer that all of those terminals I had to manage were an issue. All of your video have helped me a ton!
    Gracias papa! Desde RD!

  • @wandering_prince
    @wandering_prince Год назад +1

    this channel is legit gold man! I am now a diehard vim man - which was unimaginable half a year ago. Keep up the good work!

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      Awesome! Once you go down the rabbit hole, there’s no going back! Really appreciate the feedback, thank you!

  • @maguilecutty
    @maguilecutty 7 месяцев назад

    Dude thank you SOOOOO much for these videos. Literally gave me all teh thigns I needed to finally make the jump to using this stack fulltime!

  • @oleksandroliynyk8437
    @oleksandroliynyk8437 Год назад

    Great video, thank you! Tmux workflow looks awesome and fun 🚀

  • @Manakeks2112
    @Manakeks2112 Год назад

    Thanks for the blogposts! It really helps to rebuild the tutorial!

  • @MarkBTomlinson
    @MarkBTomlinson Год назад

    Very nice video Josean, it cleared up a lot of questions I had about tmux and its configuration, thanks!

  • @felipegutierrez2944
    @felipegutierrez2944 Год назад +1

    This content is awesome, I just change from vscode to nvim, your videos are been really helpful, Thanks a lot!

  • @steamaccount2276
    @steamaccount2276 Год назад

    Great tutorial as always 💗
    Thanks alot for making these videos 💝

  • @darlakim5120
    @darlakim5120 Год назад

    Another awesome video...thank you! I love tmux and am and old-school vi dev. Tmux is esp. great when working on multiple servers, where you can ssh into all of them and execute the same command simultaneously and see the results of each on one screen (synchronize on/off). Makes admin so much easier.

  • @destinlee
    @destinlee Год назад

    These videos have been awesome!!! Really dig your calm nature. 🙏

  • @spondoolie6450
    @spondoolie6450 10 месяцев назад

    Tackling the learning curve of nvim, tmux and reconfiguring my whole dev process thanks to your videos 🙏

  • @bhavdippathar003
    @bhavdippathar003 Год назад

    Thank you again for sharing this great video. Working with terminals is really fun.

  • @maurogarcia2012
    @maurogarcia2012 3 месяца назад

    This video was a piece of art from beginning to finish. You covered all the essentials for a tmux newbie like myself, and the pacing of the video was great.
    Thank you so much for this 🙌 wondering if you are planning to upload another video with more advance topics around tmux.
    Cheers!

  • @jacobvanschenck
    @jacobvanschenck Год назад

    Thanks so much for your videos, they are have really helped me confidently jump into the terminal world!

  • @joshuaeverett2078
    @joshuaeverett2078 Год назад +1

    Another great video! Seriously, thank you very much for making clear videos. I am very interested in your keyboard video. I look forward to any future videos you plan on making. Thanks again!

  • @JS-gx8vv
    @JS-gx8vv 6 месяцев назад

    I love this tmux config. Thanks for sharing!

  • @muhammadmuinmundzir9981
    @muhammadmuinmundzir9981 Год назад

    Really love this setup! First time install & using tmux

  • @ryansteiger6960
    @ryansteiger6960 Год назад

    thank you for this chill video. This was most helpful 👍

  • @DavidHanks90
    @DavidHanks90 8 месяцев назад

    This is EXACTLY what I've been looking for after switching to NeoVim as my daily driver. I've been using iTerm2's built in pane system, and while it gets the job done, it's much more clunky and isn't the smooth experience I was looking for. This is perfect! Thank you!

    • @azmo_
      @azmo_ 8 месяцев назад

      I can navigate between the panes, but If I'm inside neovim I can't get out to another pane. Did you have the same problems? Followed the instructions of this video and his blogpost.

  • @RomanKononikhin
    @RomanKononikhin Год назад

    Thanks a lot for this tutorial! I've been using tmux for a while already but this video allowed me to kick off with better configuration and better understand how to configure tmux.

    • @joseanmartinez
      @joseanmartinez  Год назад

      Happy to hear that! Thanks for the feedback.

  • @sagar-tt4ub
    @sagar-tt4ub Год назад

    Very very informative and useful video. Thanks for making it!

  • @yuanjunren5220
    @yuanjunren5220 Год назад

    Thanks a lot!!! I learned a lot althrough i've being using tmux for several years.

  • @sachindraragul1094
    @sachindraragul1094 11 месяцев назад

    Awesome. Great video. Thanks for making it!

  • @Gumshoe21
    @Gumshoe21 Год назад

    Wonderful, very helpful and powerful info here! Cheers!

  • @evgenykokotov2322
    @evgenykokotov2322 Год назад +1

    Cool and fully detailed tmux explanation. great!

  • @macx4044
    @macx4044 Год назад

    Another awesome video! thanks a lot!

  • @xtsxo9872
    @xtsxo9872 Год назад

    This was a brilliant series, great job!

  • @azukachannel716
    @azukachannel716 5 месяцев назад

    thanks for making my terminal far better and make me always spirit to code

  • @KhalidThwiny
    @KhalidThwiny Год назад

    I found your channel by accident and immediately subscribed to it. Your videos are very informative and clear and easy to follow. Thanks mate!

    • @joseanmartinez
      @joseanmartinez  Год назад

      Awesome! Thanks for the feedback, really appreciate it!

  • @vado4003
    @vado4003 Год назад

    This is the best tmux video i've seen, thank you for making it!

    • @joseanmartinez
      @joseanmartinez  Год назад

      I really appreciate that! Thanks for the feedback.

  • @alonso0188
    @alonso0188 Год назад

    Thank you man, really helpful.

  • @anupambphoto
    @anupambphoto 6 месяцев назад

    Thanks for the video. I appreciate what you do.

  • @zurgsRushm
    @zurgsRushm Год назад

    Super stuff! Thank you very much!

  • @Skatox
    @Skatox Год назад

    Nice video! it helped me to start with tmux, nice tutorial!

  • @reverse_shell
    @reverse_shell Год назад

    Awesome video on tmux and neovim integration, TY!!

  • @ypucandeleteit
    @ypucandeleteit Год назад

    Really good tips! I never thought saving my sessions was an option after a shutdown

  • @fernandocorreia2091
    @fernandocorreia2091 13 дней назад

    Thanks for sharing!

  • @HarisHussain
    @HarisHussain Год назад

    THANK YOU SO MUCH! I can finally use neovim + tmux to do all my backend projects! thanks again

    • @joseanmartinez
      @joseanmartinez  Год назад

      That’s really awesome! Really appreciate your feedback and support. Glad I could help!

  • @hexcoreZz
    @hexcoreZz Год назад

    Josean, another great video. Thank you.

  • @0x80O0oOverfl0w
    @0x80O0oOverfl0w 10 месяцев назад

    Good call on swapping the caps lock and ctrl key. This is surprisingly easy to do on a Mac! I set my vertical split key to \ since it's the same key as | and doesn't require using the shift key to access.

  • @wilhelmngoma9009
    @wilhelmngoma9009 Год назад

    Thanks man. I really appreciate.

  • @techlightdev
    @techlightdev 7 месяцев назад

    So good, Thank you very much

  • @nstball18
    @nstball18 Год назад

    Great content. Thanks

  • @rlifts
    @rlifts Месяц назад

    Great video keep up the great work. I did not even know ctrl jkhl had no conflicts in neovim.

  • @wata1991
    @wata1991 Год назад +1

    the copy mode thing is a game changer for me...thank you so much. iterm2 was always getting mad for copying stuff.

  • @TonyNguyenTin
    @TonyNguyenTin Год назад

    The video is awesome. Thank you.

  • @drogokhan
    @drogokhan Год назад

    Looking forward to your new keyboard video. I am thinking about getting one. Having a lot of wrist pain lately. Love your videos man!

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      Appreciate it! Hoping to get the keyboard video out sometime soon, working on it.

  • @enidoi
    @enidoi Год назад

    Thanks for the series on setting this all up. Can you produce a video to nerd out about this presentation style, a Video of current actions with a screen on top? Pretty wild.

  • @TonyJara-nf7py
    @TonyJara-nf7py Год назад

    god damn bro, you just came and solve all of my problems. Thank you! This neovim thing has a steep learning curve

    • @joseanmartinez
      @joseanmartinez  Год назад

      It does have a pretty steep learning curve and can be painful at times. Glad I could help!

  • @grossclarence
    @grossclarence Год назад

    Amazing videos thanks

  • @RevazZakalashvili-zakala
    @RevazZakalashvili-zakala Год назад

    Great video!
    Additionally, I find tmuxp very useful

  • @darccau7204
    @darccau7204 Год назад

    Thanks for the video

  • @antonioalmeidademelo
    @antonioalmeidademelo Год назад

    awesome, thank you!

  • @Pscribbled
    @Pscribbled Год назад +1

    Very cool. I’ve always avoided tmux because I’ve always used it hard to do a copy past larger than a window to something outside of the termina since log diving is deep in my workflow. I’d opt to use screen only if I was in an ssh session that couldn’t tolerate unexpected disconnections.
    I’ll probably look deeper into your configs. Looks cool. One thing I didn’t like is how ctrl-d and ctrl-c looked to be rebound which is something I deeply disagree with but I can probably just keep those as the normal signals

  • @kurihama4629
    @kurihama4629 Год назад

    ur setup up is fresh af

  • @Sameer_Kumar
    @Sameer_Kumar 8 месяцев назад

    Good one. I moved from item native splits to Tmux. No glitches. Only one is messed up for me, I use ctrl h for backspace and it blew off, rest all great. Nice work. 11/10

  • @kuklyy
    @kuklyy Год назад

    Great videos man 👏

  • @soheilsalmani3405
    @soheilsalmani3405 6 месяцев назад

    Hope in 2024 you'll get at least 100k subscribers. You deserve it.

  • @codingwithrendi
    @codingwithrendi Месяц назад

    thanks this is increase my productivity

  • @0xc0ffee_
    @0xc0ffee_ Год назад +2

    Wow! Amazing setup!
    I was looking into a new setup idea... and I was wondering whether tmux was necessary as you can split windows in the terminal emulator and you don't really need tmux for it but the way it plays with vim is just *chef kiss*

  • @ScottMackey
    @ScottMackey Год назад

    Great job again Josean! Will be implementing a couple of your bindings too. Also I use "bind-key C-a last-window" for double tap prefix a too. Just started using my new Corne low profile. Love it, but bit of a learning curve for muscle memory. Keep up the great work :)

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      That’s awesome! Thanks for your feedback I really appreciate it! When I first migrated to my first ergonomic split it took me at least a month to get used to it, but I haven’t looked back since! So cool you’re using a low profile Corne.

    • @ScottMackey
      @ScottMackey Год назад

      @@joseanmartinez 4 days in and keep forgetting layers for special characters. My typing speed has improved though😀 Also I’ve created a new NeuVim repo on GitHub pretty much your configs. I will continue to work on that over time too 👍

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      @@ScottMackey Awesome! Stick too it! You’ll get used to it and it’s definitely a game changer. I did a lot of typing.io for practice when I was learning to use my first split keyboard with layers.

  • @svampkorg
    @svampkorg Год назад

    Thank you for making this series!
    I recently switched from developing in a Linux environment, to using MacOS and figured I should make a completely new Neovim setup. I found your videos and have been following along to setup my iTerm, neovim and now tmux! I can finally leave my previous mess-of-a-neovim-config behind and start fresh with a nice and structured configuration.🥳
    Again! Thank you so much!

  • @shadowangel8005
    @shadowangel8005 Год назад

    I'm really liking Zellij (Tmux alternative) for this, you can write a temple file to configure panels and tabs. I also use a shell script to quickly open everything.
    Also the other advantage is plugins use wasm format, write in any language.

  • @maxietheboss
    @maxietheboss Год назад +12

    I don't usually comment on RUclips but this series has been amazing! You explain the content in a very balanced manner, never going on a tangent or being too shallow. The quality is very high level.
    Will you also do a video on your keyboard? I presume it's a Corne keyboard, with QMK possibly? Would also love a video on that.
    @edit: aaaand just as I typed you went into the keyboard details. Definitely do a video on that as well!
    If you were a Linux user the next step would be tiling window managers 😉

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      Hey! I really appreciate your feedback, means a lot! Really happy to hear you’ve enjoyed the series and have found it helpful! And yes! Excited to put a video together on the Corne. It’s actually a wireless board so it uses ZMK instead of QMK. I was using an Iris Rev4 before this one with QMK. And also who knows, maybe I’ll dive in to the Linux world sometime in the future. Have definitely considered it. For now I’ve stuck to my macbook because it works well for making videos and does most of the stuff I need. Thanks again!

    • @userzc
      @userzc Год назад

      @@joseanmartinez Great video!, I was able to catch a few new things from it, nice!. I'm also interested on the wireless corne, could you share any references to get one please?

    • @joseanmartinez
      @joseanmartinez  Год назад +1

      @@userzc I got my kit from little keyboards. They have most of what you would need to build it. Hope that helps!

  • @whited250
    @whited250 Год назад

    TYVM for this series, it has been quite helpful! I made myself a Kyria split ergo keyboard - very similar to the Corne, but with a few extra thumb keys. I have a modified Miryoku layout, and I find I need both hands to do a lot of things. This lead to looking for ways to avoid hand-transitions to the mouse, which brought me to the idea of Vim/tmux, and thus these videos. As an interesting aside, I also use a Colemak-DHm layout. This means that Vim's h-j-k-l is not home row, and is quite nonsensical. Instead, I have been using the arrow keys which I have mapped as a layer under my right side home row. At least with that, the motions stay similar.

    • @joseanmartinez
      @joseanmartinez  Год назад

      Awesome! Really cool stuff. That’s awesome you’re also using a custom split. I’ve considered changing from Qwerty but haven’t had the time to dive into that. Appreciate the feedback and happy to hear you’ve enjoyed the series!

  • @possumkeys
    @possumkeys 10 месяцев назад

    I've been using screen, but not for development, this plus the primagen has me convinced 5o switch to tmux. Installing! Plus switching binding control b to ctrl a makes it very screen like! Love it! I'll switch my keys to all mirror screen but love it!

  • @Cruzylife
    @Cruzylife Год назад

    wow this was awesome

  • @huuhhhhhhh
    @huuhhhhhhh 8 месяцев назад

    Nice!
    Subscribed.

  • @Raspace
    @Raspace Месяц назад

    I just came here from your neovim video, I must say you explain things very easily

  • @s8x.
    @s8x. Год назад

    thanks for this

  • @scc4213
    @scc4213 Год назад

    wow,This is a lot usefule information

  • @baladevajuganas5173
    @baladevajuganas5173 Год назад

    Awesome tutorial. +1 sub

  • @kamil7272
    @kamil7272 Год назад

    frickin good stuff

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars Год назад +1

    good video, subbed :)

  • @tonmoymojumder25
    @tonmoymojumder25 Год назад

    Thank you so much

  • @diegofirpo6493
    @diegofirpo6493 Год назад

    Awesome videos mate, ty for this tutorial, nice and clear, the only thing I couldn't do is understand how the bottom bar of the tmux stayed green, mine stayed blue and dark tones

  • @jpcampbell
    @jpcampbell Год назад +5

    I use tmux all the time when leaving long-running processes going on a remote server. It’s a great tool.
    Now do a video on debugging. Setting up DAP is maybe the final piece of the puzzle for me. I have yet to be successful with it.
    Great series.

    • @joseanmartinez
      @joseanmartinez  Год назад

      Hey! I really appreciate your feedback. Happy to hear you've enjoyed the series and found it helpful! I currently haven't added debugging to my neovim setup. I mostly use log statements to fix issues and if I ever do need to use a debugger I use some other tool. I am interested and do think I should add this into my neovim setup as it can be very useful, but have heard it can be a bit tricky. Once I do the proper amount of research and add it to my setup, I'll make sure to make a video on it too!

  • @PulpFreePress
    @PulpFreePress Год назад

    Great video!

  • @0xc0ffee_
    @0xc0ffee_ Год назад

    I also have a corne! Love it!

  • @TheRealisticNihilist
    @TheRealisticNihilist Год назад

    Pretty sick workflow.

    • @joseanmartinez
      @joseanmartinez  Год назад

      Awesome, thanks!

    • @TheRealisticNihilist
      @TheRealisticNihilist Год назад

      @@joseanmartinez I use spacemacs and I was curious how you got some of the benefits I enjoy and for the most part you seemed to get all of them. Pretty sweet.

  • @duyhung.30
    @duyhung.30 Год назад

    great video love ur contents

  • @Xknw
    @Xknw Год назад

    one year ago l have doing this and now you reveal that it's fun

  • @hotdog2c
    @hotdog2c Год назад

    Have been watching all of you stuff, really amazing work you do here on YT.
    I would love to see a videos about the new keyboard.
    It would be awesome if you could talk about the quality of self-build keyboards.
    Why you dont have a case for it, is it easy to break without a case?
    How the bluetooth feels, does it have downsides? (bad latency, connection issues)
    Does using a split keyboard ruin you movement with a normal keyboard?
    These are all questions which i could not find an answer to :D

    • @joseanmartinez
      @joseanmartinez  Год назад +2

      Hey! Thanks for the feedback I really appreciate it! Was thinking of doing a video precisely on covering a lot of these questions. Thank you for listing them out like this, it’s a good point of reference for me. I just made the keyboard and its my first wireless board, so I’m gonna be testing things out and will be putting a video together once I get a good feel for how things are working!

  • @The-Bloke
    @The-Bloke Год назад +4

    Thanks for the video. One thing I've not really followed is what the main advantages are of using tmux versus just using iTerm2's built in window splitting? I've used tmux in the past when SSHing into remote servers, and there it's really valuable because you can start a session, run some long-running command, and then if you want/need to disconnect the SSH the command won't be affected. But on my local system I've not bothered trying it, because it's very easy to make iTerm2 splits using keyboard shortcuts, resize/move them, etc. And they are automatically remembered when I restart the computer. I guess the ability to use Vim shortcuts for copying text could be useful, but other than that what do you think is the main benefit of using tmux vs just using iTerm2's built in splits, tabs and windows?

  • @andrejkling3886
    @andrejkling3886 Месяц назад

    Awesome channel ...🔥 thank you for all great efforts Martinez. Let me ask you if you have or planning create some video how you work on Neovim plus Tmux at real project? From scratch to end... Thank you

  • @user-gt7yp6lg1l
    @user-gt7yp6lg1l Год назад

    great video!

  • @ChrisHumboldt
    @ChrisHumboldt Год назад

    Excellent video. I kinda went nuts once I saw this and now cannot imagine how I worked without Tmux. If you don't mind me asking, what keyboard are you using?