My Forever Dev Workflow

Sdílet
Vložit
  • čas přidán 31. 05. 2024
  • X: / typecraft_dev
    🚨Tmux for newbs - Episode 3🚨
    If you've been following along this series, you've learned about tmux and how to configure it to look beautiful. In this episode, we combine the power of Tmux with Neovim. Welcome to my forever dev workflow.
    Pull up a chair - let's get after it.
    chapters:
    0:00 - intro and showing off
    1:04 - Overview
    1:40 - vim tmux navigator (navigator? barely even know 'er!)
    8:00 - vim-test and vimux
    12:59 - tmuxifier && managing sessions
  • Věda a technologie

Komentáře • 157

  • @typecraft_dev
    @typecraft_dev  Před 2 měsíci +13

    dotfiles for this config!
    github.com/typecraft-dev/dotfiles

    • @gjermundification
      @gjermundification Před 2 měsíci

      How do you use tmuxifier or any other tool to manage projects? I have /opt/local/dev/ in which contains most my projects that are not yet deployed. first of all I would like to have templates; such as for these current tasks: Commodore 64 and AmigaOS using: vasm, tmux, and neovim, Rust projects mainly ratatui using: tmux, and neovim, Swift projects mainly vapor using: tmux, and neovim, and I also have set in which I use all the time using: xcdatamodel, FMPXMLRESULT, psql, tidy, xmlstartlet, jq, xsltproc. You 2 cents?

    • @alienews0
      @alienews0 Před měsícem

      so the idea instead of installin a linux with i3 or hyprland is to install heavy (compared to screen) multiplexers and adding to them multiple plugins make several configurations for each program to have an almost as coherent experience as if we went linux+tilling wm in the first place ?! Weird...

  • @curtisbridges
    @curtisbridges Před 2 měsíci +32

    Man, I love your intro. Such '80s action tv show vibes!

  • @alcb1310
    @alcb1310 Před 2 měsíci +4

    Great video nerd, since I discovered tmuxifier is a major part in my workflow as well, the ability to create your working session with one command is priceless, I even created some scripts that work on top of tmuxifier that allows me to change between open sessions

  • @typecraft_dev
    @typecraft_dev  Před 2 měsíci +20

    Going to upload this config to GitHub soon. Link coming shortly

    • @robertkozak
      @robertkozak Před 2 měsíci +2

      I was about to remind you again. Thanks nerd

    • @mokied
      @mokied Před měsícem

      Hey, when I start a tmux session it doesn't "source .zshrc" so I don't get starship prompt and other zsh plugins. In your video you seem to at least have the starship prompt working.

  • @raymondong349
    @raymondong349 Před 2 měsíci +2

    really love this series and how practical they are for day to day usage!

  • @PetrenkoAndrii
    @PetrenkoAndrii Před 2 měsíci +2

    You have very cool and efficient workflow. I have to refine mine as well. Thanks for your example!

  • @threee1298
    @threee1298 Před měsícem +1

    You’re a hero ❤ seems like you can read my mind and give me what I need right before I need it.
    Also editing is so clean I’d love to see your process some day

  • @arafays
    @arafays Před 2 měsíci +13

    2:43 now thats some I think they called easter egg's or something.

  • @mr.bojangles6111
    @mr.bojangles6111 Před měsícem +1

    Great video as always, thank you! It's been a big help getting me started with tmux.

  • @starmechlx
    @starmechlx Před 2 měsíci +5

    Yesssss. This was the missing piece. Finally really started falling in love with tmux after giving it a serious shot thanks to the other videos, but using it together with Neovim was kind of a pain. This is the final piece of the triforce it seems to it really making Neovim feel like an IDE that feels good to use. Big big thanks.
    Frickin nerd

    • @tuananhdo1870
      @tuananhdo1870 Před měsícem

      what is the other force in the triforce

  • @Galopino1994
    @Galopino1994 Před 2 měsíci +5

    have you tried neovim terminals? more integrated experience, especially with overseer.nvim to autocomplete commands from package.json/cargo/makefile/etc.

  • @noisycarlos
    @noisycarlos Před 2 měsíci +1

    Just added tmux navigator. I was just wondering if this could be done just yesterday. Amazing, thanks!

  • @TiagoEgas
    @TiagoEgas Před 2 měsíci +2

    Super smooth... Aaaand beautiful!!!

  • @tonit6113
    @tonit6113 Před 2 měsíci

    You explain very nicely, very easy to follow. Thanks for sharing

  • @nicohussein2635
    @nicohussein2635 Před 2 měsíci +3

    Great content! Please keep pushing this way!! 🚀

  • @fatboyslimshady6767
    @fatboyslimshady6767 Před 2 měsíci +5

    You have resparked my Childlike curiosity towards Tech, Thank You typecraft

  • @curtisbridges
    @curtisbridges Před 2 měsíci +5

    2:00 The only downside to using vim-tmux-navigator is you lose the native "clear screen" of terminals (ctrl-l) and have to type "clear" instead. My muscle memory was not able to overcome this. 😕

    • @alienews0
      @alienews0 Před měsícem

      maybe starship on top ?

  • @adamdrake39
    @adamdrake39 Před 2 měsíci +2

    Mate! This is awesome. Tmuxifier is going into my setup now.

  • @PhanorColl
    @PhanorColl Před 2 měsíci +1

    great video, I;m starting to use TMUX, although I'm a heavy neovim user, didnt know about those tmux plugins. Thanks.. BTW, love the intro.

  • @WaldirBorbaJunior
    @WaldirBorbaJunior Před 2 měsíci +2

    Geee... another amazing tuto... Really love it. 1st time that I heard about tmuxifier. I've created a bash file that does similarly to tmuxifier :)

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci

      Nice! Yeah it’s a pretty simple tool and it works great

  • @andherium
    @andherium Před 2 měsíci +1

    Thanks for vim test and vimux

  • @iamreinder
    @iamreinder Před 2 měsíci +2

    Nice. I didn’t know I needed this. But I do!

  • @saeedxgholami
    @saeedxgholami Před 2 měsíci +3

    The problem I have with `Ctrl + vim nav key` is that the `Ctrl + l ` key ,, which in most terminal application mapped to `clear` command. I use `ctrl+l` to clear screen a lot. so I can't use the keys mentioned in the video I have to use `Leader + vim nav key ` to nav between panes.

  • @Dainslief31
    @Dainslief31 Před měsícem +1

    Man !! I cant begin to thank u enough , I was new to nvim nd a lot scared of all the configs things , but u made it look like chuld's play to me , nd your tutorials are the simplest nd concise , i love it !!! Please never stop uploading such content

  • @ericlindell3777
    @ericlindell3777 Před 2 měsíci +2

    Great vid, thanks!

  • @tronus98
    @tronus98 Před 2 měsíci +1

    I started learning Linux in 98 off an old version of Slackware (for that time). I remember having to compile everything and chase down dependencies on the computer with the internet connection... then load up a floppy disk and run upstairs to run ./configure again. Only to be met by another dependency. Lol. Rinse and repeat. I don't code but I did experiment with a programming language designed to spit out sheet music and finally had a reason to use the terminal other than configuring Linux (I was using stock emacs) I guess what I'm getting to is, I think the terminal is neat as hell and I wish i had more of a reason to use it more. I'd love to be able to code a program like Transcribe! A piece of software that let's you load in audio or video... slow it down but maintain pitch and clarity, along with smoothness... as well as pitch up or down, set start points for learning tough passages without having to hunt down the start every pass/listen, etc... but all in the terminal. Finally I could live in the terminal and get my "money's worth."
    Annnyways. That's my story. Awesome video. I'll be checking out more for sure

  • @ziggyshea
    @ziggyshea Před 2 měsíci

    vim-test looks amazing. I always hated jumping between projects that used different testing libraries and having to look up how to run (individual) tests.
    Also, a side note for Tmux sessions: if you're working with Jira tickets, naming sessions after the ticket makes jumping between ticket work so much easier. You can be working on one ticket, get some PR feedback on another, jump to that ticket's session, edit and push, then jump back to the original ticket's session. Sudden urgent bug fix required? Just make a new session, fix it, then jump back to the original session.

  • @Redyf
    @Redyf Před 2 měsíci +3

    Bro's in the neovim army, RESPECT++

  • @byteZorvin
    @byteZorvin Před měsícem

    Cant thank you enough
    This was so good

  • @j1d7s
    @j1d7s Před 2 měsíci +1

    Very nice being able to move between tmux and Neovim like this, I have immediately adopted it! I am using the oil plugin and needed to change the keybindings there since they clashed with the new ones and I also needed to change the keybinding of clearing the terminal window from Ctrl-L to Alt-L, but now I am all set, thanks!
    The testing plugin is also something I did not know before, very useful!
    I have been using tmuxinator for quite a while now, I am setting up two windows at work, the first one mainly for Neovim and the second one for various services which need to be running, I have also set it up in such a way that some of the panes watch others to know when to start "their" service to avoid my laptop from running into memory problems, works like a charm.
    One thing which I would love to get some tips on in a future video is tips regarding how to manage keybindings and whichkey, maybe you have some suggestions how to make that process smoother (in case you use whichkey at all). Maybe this could be an interesting topic for a video. I am using so many plugins that there is not much choice left after the leader key for the follow-up key and it is getting a bit unwieldy.

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci +1

      Which key is definitely a good topic! Thank you

  • @almightytony09
    @almightytony09 Před 2 měsíci +5

    Navigator? Barely even know 'er!
    I appreciate the chapter label. lol

  • @tunglies
    @tunglies Před měsícem

    Very useful video. I am new to vim and tmux, wondering how to saving life by set something and make them beautiful and easy to use. This one just all I need.

  • @panchocorderos
    @panchocorderos Před 2 měsíci +2

    thx nerd! I'm waiting for the vim + rails workflow 🚀

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci +1

      next video I go over it!

    • @panchocorderos
      @panchocorderos Před 2 měsíci

      and then a video using lazygit with nvim? i'm trying to open the lazygit app with a keymap, but i can't 🥲@@typecraft_dev

  • @Montagic
    @Montagic Před 2 měsíci

    These videos rock! Do you have any plans on easy deployment of these dotfiles, something like Ansible? That’s one of my final steps for everything and I’ve been putting it off 😅

  • @LeeTSoldaT
    @LeeTSoldaT Před měsícem

    Thanks for the amazing video! ❤
    I have a question about vim-tmux-navigator however; I'm currently developing extensively in Python, meaning I'm often in a subshell (a virtualenvironment of some sort, like Poetry). Vim-Tmux-Navigator seems to have issues identifying nvim-processes inside subshells. Do you have any nice solution to this? Haven't found any clear info on the topic. Thanks mate!

  • @luissanmiguel8967
    @luissanmiguel8967 Před měsícem

    I could be wrong, but I believe the vim-tmux-navigator plugins handles the tmux -> tmux case as well as the nvim -> nvim case so you don't have to set those key binds

  • @kevs3913
    @kevs3913 Před 2 měsíci

    Great video, just i have a question... in tmux config we mapped the tmux navigation pane to LEADER LDRP not to CTRL LDRP, im a right? it seem a bit weird use LEADER LDR on tmux and CTRL LRDP on nvim.. or maybe im missing something.

  • @fliplucky8813
    @fliplucky8813 Před 2 měsíci +1

    I really cannot thank you enough for your videos.
    My brain works in a special way where I can understand everything that is moving, but I fail to comprehend static stuff like configuration.
    I understand advanced concepts in ways most people cannot, but trip over stuff other people think is basic or common knowledge
    Your videos help me to configure stuff which I can understand, but i cannot configure.
    We all need a Typecraft in our lives.
    Thank you for not making me feel like an idiot, which most videos do.
    Please keep making these vidoes.

  • @aperyon1990
    @aperyon1990 Před 2 měsíci

    I had an error with this setup. When I use the in neovim on the edge, it does not navigate to tmux, as it is trying to use the wincmd instead. I have my settings load after the plugins, so this might override the plugin config. So I deleted the wincmd keymaps and both neovim pane and neovim to tmux navigations work, so I think it's not necessary to add the wincmd keymaps.

  • @jole2354
    @jole2354 Před 2 měsíci +1

    I see you're using rails, so I was wondering which LSP/plugins/configs you use for that? Thanks and great video!

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci +1

      covering that in the next video, actually!

  • @gnom-om
    @gnom-om Před 2 měsíci

    Could you please describe benefit of using tmux & nvim instead of using such nvim packages as AstroNvim and others?
    I am currently use AtroVim and have the same ability to split windows.
    Love your videos, thanks a lot!

    • @ClariNerd
      @ClariNerd Před měsícem

      If you need to change something and you aren’t the one who set all the settings, how do you ensure that your changes don’t break anything?

  • @gearmaxim
    @gearmaxim Před 2 měsíci +2

    tmuxifier goes crazy

  • @willballentine5362
    @willballentine5362 Před 2 měsíci

    Question for the class: I’m a .Net/C# dev wanting to move away from VS or Rider into NeoVim but having trouble configuring it to work well in an enterprise environment. Any tips/tricks/ or resources y’all could point me to?

  • @TokyoXtreme
    @TokyoXtreme Před 11 hodinami

    One thing that bothered me about the tmux neovim navigator plugin is that it interferes with Cttl+l, which clears the terminal (and which I configured to work with Cmd+k, which by default breaks everything in NeoVim by sending the iTerm2 clear history command). Maybe there's a way I can use Cmd keys or option… I'll look into it.

  • @mobugs
    @mobugs Před 2 měsíci

    is it possible to send text from a vim buffer to a tmux pane? use case is going through code inside a repl.

  • @jocdiazm
    @jocdiazm Před měsícem

    Halfway through the video I realized that you always said “pane” instead of “pain”.
    Was so weird but accurate to hear you say “there is a plugin to navigate tmux pains”

  • @farzadmf
    @farzadmf Před 2 měsíci +1

    I'm confused; those plugin files don't seem to match lazy.nvim spec?! Shouldn't those keymap commands be inside an init/config function or something?!
    PS: I'm also shocked that nobody seems to use ctrl+l to clear the terminal (not only this video, but everyone seems to use ctrl bindings for navigation). I personally use ctrl+l a million times a day!
    Oh hey, AMAZING video BTW!

  • @brittager
    @brittager Před měsícem

    Hi,
    When I copy a new plugin installation command to the tmux config file, it gets installed, but I do not get the same message you do "Already installed 'tpm', ... Press ENTER to continue".
    I just get "TMUX environment reloaded. Done, press ESCAPE to continue."
    Is this a particular setting you have or a version thing or something else?
    I enjoy your series on tmux, it's helping me getting started.

  • @Lucs-ku5cb
    @Lucs-ku5cb Před 2 měsíci +2

    What is your opinion about Zellij?

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci +1

      haven't tried it yet. I'll have to check it out

  • @senfglas214
    @senfglas214 Před měsícem

    What did you do at 10:17 ? @q ?
    Is this multiline editing standard in nvim? I only know this from vscode

  • @learnityourself
    @learnityourself Před 2 měsíci +1

    next level content

  • @meowhib
    @meowhib Před 2 měsíci +2

    you're the best!

  • @rlifts
    @rlifts Před 2 měsíci

    How is it that you are doing the nvim config? At 7:16 you're opening a file in .config/nvim . This is not the standard place for modules, it's usually ~/.config/nvim/lua/. Then you do a return in the file, who/what is the handler for this return lazyvim ? I'm kinda confused about your nvim setup.

  • @muneefaltamimi8677
    @muneefaltamimi8677 Před měsícem

    nvim and tmux worked and can navigate, but navigation in nvim windows got destroyed while using tmux, is there any way to fix it??

  • @zeocamo
    @zeocamo Před 2 měsíci +1

    Why add Tmux here, you can open terminal windows in Nvim too, you can move then around, as it is just buffers you can sent commands to the windows.
    What do tmux do here that you can't do in nvim???(nvim got sessions too)

  • @Keb_Le
    @Keb_Le Před 2 měsíci +1

    Tryna get my workflow like yours :D

  • @samiyute4152
    @samiyute4152 Před 2 měsíci +1

    Everytime i heard LDUR!🤣

  • @tenulate
    @tenulate Před 2 měsíci +1

    10:25 so we don't need to put key bindings inside a config = function()... end?
    Love the content

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci

      it depends on the plugin. if its a lua plugin that has to be initialized then you do. This is an old vimscript plugin so you don't have to worry about that

  • @xiLike2Doitx
    @xiLike2Doitx Před měsícem

    Does it work well with resurrect?

  • @spacecadet_Hill
    @spacecadet_Hill Před 13 dny

    why do i get excited every time he says btw

  • @AnthonyBullard
    @AnthonyBullard Před 2 měsíci +1

    I love the navigation, but need different keybinds since they clash with harpoon

  • @anonlegion9096
    @anonlegion9096 Před 29 dny +1

    Yo what breed is your dog @0:49? I have a mixed breed puppy that looks just like him/her!!

  • @marlonsbardelatti202
    @marlonsbardelatti202 Před 2 měsíci

    hey mr typecraft, idk if there is already a solution for this problem but a created a rust cli tool to easily change the colorscheme of tmux status line, so it matches your nvim colorscheme. I'm a beginner so probably there's a better way of doing this. Would u like to take a look?

  • @vishaldinesh
    @vishaldinesh Před 2 měsíci

    Man I'm waiting for the arch i3 video to drop.

  • @arco_ix
    @arco_ix Před 2 měsíci +2

    neovim & kitty 😸

    • @theesquag
      @theesquag Před 2 měsíci +1

      My fav, I only wish kitty had remote persistence

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci +2

      Meeeooowwww

  • @Armadous
    @Armadous Před měsícem +19

    If only there were a free, cross-platform application that could seamlessly combine a code editor, file manager, terminal, and test runner; one that allows you to freely position the windows and panels as you desire, AND remembers those settings. What a pipe dream.

    • @irascib1e
      @irascib1e Před měsícem +14

      Yes! It's called nvim 🎉

  • @dikshitsingh5522
    @dikshitsingh5522 Před 2 měsíci +1

    Please make a video on your personal dotfiles

  • @LukasSmith827
    @LukasSmith827 Před 2 měsíci +7

    the thumbnail is visual harassment, great video though

  • @CrazyLuke11
    @CrazyLuke11 Před 2 měsíci +1

    Thanks nerd!

  • @arafays
    @arafays Před 2 měsíci +1

    ldur mentioned :D

  • @yashrajdargan2203
    @yashrajdargan2203 Před 2 měsíci +1

    That's what we called working ✊ long way to go dev boy

  • @0xngmi
    @0xngmi Před 2 měsíci +1

    where are the conf files to use?

  • @odra873
    @odra873 Před 2 měsíci

    can you also create a video for a windows setup?

  • @marktodisco
    @marktodisco Před 2 měsíci +1

    Does anyone know the name of the color theme?

  • @c_kemper
    @c_kemper Před 2 měsíci +1

    There’s also tmuxinator… I preferred that one until I wrote my own.

  • @GaabrielRoodriz
    @GaabrielRoodriz Před 4 dny

    How to add autocomplete in Tmux?

  • @MysteryMan159
    @MysteryMan159 Před měsícem

    What is that intro music? I sounds like waveshaper ...

    • @typecraft_dev
      @typecraft_dev  Před měsícem +1

      Check it - m.czcams.com/video/zYVDXffXNVI/video.html

    • @MysteryMan159
      @MysteryMan159 Před měsícem

      @@typecraft_dev thank you!

  • @anasouardini
    @anasouardini Před 2 měsíci +1

    I don't understand why people use Tmux for their Desktop, I only find it useful when connecting to a remote server! What am I missing?

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci +1

      I personally love session management, and the use of panes

    • @anasouardini
      @anasouardini Před 2 měsíci

      @@typecraft_dev If I use virtual desktops instead of sessions and normal window tiling for panes, would I still benefit from using Tmux?

  • @jamlie977
    @jamlie977 Před 2 měsíci +1

    thanks nerd! *LDUR echoes*

  • @SethRider
    @SethRider Před 2 měsíci +1

    thanks nerd

  • @dwskme
    @dwskme Před 2 měsíci +1

    Where is the github link?

  • @JuanVqz
    @JuanVqz Před měsícem

    Hey dude, now that you have that great setup, install vim-test, and thank me later 🎉

  • @wadallace
    @wadallace Před měsícem

    Anyone else notice the gold ring on the neck for a few seconds starting around the 2:42 mark? I thought I was hallucinating.

  • @pritamdodeja
    @pritamdodeja Před 2 měsíci

    Anybody using a configuration like this for ipython? My workflow is tmux, vim, ipython, vimwili, task warrior, all under the management of git. I wish there was something that would ipdb usage easier w.r.t indentation and better integration between ipython embedded and ipdb. That would be heaven, but even without it, I feel this type of a workflow is a real life cheat code. Great content!

  • @user-yf5cc2nv8j
    @user-yf5cc2nv8j Před 2 měsíci +2

    LDUR

  • @ethandoescode
    @ethandoescode Před 2 měsíci +1

    Thanks, nerd

  • @junaidshaikh2265
    @junaidshaikh2265 Před 15 dny

    2:44 what's that on your neck

  • @LuanLouzada
    @LuanLouzada Před 2 měsíci +3

    Okay, I'm going to have to ask, what are those things that appear on your neck in every video, is it an Easter egg? hahahahaha

  • @hisnameisrick
    @hisnameisrick Před měsícem

    2:53 - what happpened to your neck?

  • @wolfisraging
    @wolfisraging Před 2 měsíci

    Anyone else who loves magic tattoos?

  • @heret1c385
    @heret1c385 Před 10 dny +1

    Maybe I'm missing something, but the way you explained the vim tmux navigator makes no sense at all. Everything you have shown can be done without a plugin, no? Even without extra configuration. The point of the plugin is to navigate betwen vim splits and tmux panes uniformly, so you can use the same keybinding for both tmux and nvim, and tmux and nvim share context with eachother, so that it behaves like one "cursor" in tmux and nvim together.

  • @pablopico93
    @pablopico93 Před 19 dny

    If you are non a web developer and you are for example C++ dev, you cannot jump to definition with this config

  • @p99chan99
    @p99chan99 Před 12 dny

    I like using Emacs tbh...

  • @AlexanderAbelt
    @AlexanderAbelt Před 2 měsíci

    Were you in a fight about this video?

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci

      the fight of my life

    • @typecraft_dev
      @typecraft_dev  Před 2 měsíci

      I really gotta solve this problem. My red cheek right? my home office gets really warm throughout the day and I guess I get a little red when the door is shut and I'm recording a video. hah

  • @VinitKhandagle
    @VinitKhandagle Před 2 měsíci +1

    First !!! Love to see this

  • @Cool-Linux-Penguin
    @Cool-Linux-Penguin Před 2 měsíci +1

    AHHHH I AM THE 13th comment. Thats cool.

  • @brionlund2467
    @brionlund2467 Před měsícem

    "Excited to show you guys" Honestly, you wouldnt be a real vim user if you werent excited to tell everyone about it.

  • @ObscuraDeCapra
    @ObscuraDeCapra Před 15 dny

    "This is a clunky workflow, but thankfully the mouse was invented like fifty fuckin' years ago and made all of this completely superfluous."

  • @VinitKhandagle
    @VinitKhandagle Před 2 měsíci

    is test.nvim better than neo-test ?

  • @TheMFLORD
    @TheMFLORD Před měsícem

    Great video, but I got a feeling your are Tim Cook in disguise 🥸