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?
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...
Thanks for this series! Really appreciate the detailed walkthroughs. In case others are confused by the ctrl-direction bindings with no leader mentioned at 1:55, the bindings from the last video don't do that. Instead you can use `bind-key -n C-h select-pane -L` for example, the -n flag makes the binding work without pressing the leader. Alternatively the tmux-navigator plugin just sets these for you.
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
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
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
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
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.
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
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.
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.
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. 😕
have you tried neovim terminals? more integrated experience, especially with overseer.nvim to autocomplete commands from package.json/cargo/makefile/etc.
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.
Maybe we're both missing something, but... it works for me.The `bind-key` commands in @typecraft's .tmux.conf should be altered to add -n flags to not require the leader key and add `C-` before `h`, `j`, `k`, and `l` to require the Ctrl modifier. The pane navigation keymaps in his vim config (the neovim-for-newbs version) are OK as is.
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
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.
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”
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.
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.
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.
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.
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!
How did you manage to get space between tmux and your terminal text? I have ohmyzsh set up with tmux but I can't get a space between the two ha. It's driving me mad.
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.
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)
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
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 😅
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.
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.
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!
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!
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?
Did anyone notice the dude's got some chocolate/burn/tattoo/something between 2:43 and 2:54 on his neck, but as he shows the workflow, the mark is gone... huh...
dotfiles for this config!
github.com/typecraft-dev/dotfiles
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?
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...
@@alienews0 For me TMUX seems to be better when using WSL. But I may have not enough experience using i3 + WSL
Man, I love your intro. Such '80s action tv show vibes!
Thanks for this series! Really appreciate the detailed walkthroughs.
In case others are confused by the ctrl-direction bindings with no leader mentioned at 1:55, the bindings from the last video don't do that. Instead you can use `bind-key -n C-h select-pane -L` for example, the -n flag makes the binding work without pressing the leader. Alternatively the tmux-navigator plugin just sets these for you.
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
what is the other force in the triforce
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
You have resparked my Childlike curiosity towards Tech, Thank You typecraft
It's my pleasure
really love this series and how practical they are for day to day usage!
Mate! This is awesome. Tmuxifier is going into my setup now.
Great to hear!
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
Great content! Please keep pushing this way!! 🚀
You got it!!
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
Going to upload this config to GitHub soon. Link coming shortly
I was about to remind you again. Thanks nerd
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.
You have very cool and efficient workflow. I have to refine mine as well. Thanks for your example!
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
2:43 now thats some I think they called easter egg's or something.
It looked like a love bite for a sec
Great video as always, thank you! It's been a big help getting me started with tmux.
Just added tmux navigator. I was just wondering if this could be done just yesterday. Amazing, thanks!
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 :)
Nice! Yeah it’s a pretty simple tool and it works great
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.
Thanks!
Super smooth... Aaaand beautiful!!!
Thanks. You’re beautiful
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.
Bro's in the neovim army, RESPECT++
Always
Just a reminder to set the EDITOR to 'nvim' for "edit-session" to work immediately
Nice. I didn’t know I needed this. But I do!
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.
Thank you so mach! You save my day. Again.
You explain very nicely, very easy to follow. Thanks for sharing
Glad it was helpful!
Thanks for vim test and vimux
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. 😕
maybe starship on top ?
That's great man, thanks for the series.
Navigator? Barely even know 'er!
I appreciate the chapter label. lol
lol
have you tried neovim terminals? more integrated experience, especially with overseer.nvim to autocomplete commands from package.json/cargo/makefile/etc.
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.
Maybe we're both missing something, but... it works for me.The `bind-key` commands in @typecraft's .tmux.conf should be altered to add -n flags to not require the leader key and add `C-` before `h`, `j`, `k`, and `l` to require the Ctrl modifier. The pane navigation keymaps in his vim config (the neovim-for-newbs version) are OK as is.
Great vid, thanks!
thx nerd! I'm waiting for the vim + rails workflow 🚀
next video I go over it!
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
We’ll do you one better- come join our workshop next week! learn.typecraft.dev/neovim-and-zellij-ruby-on-rails-edition/
@@typecraft_dev thx nerd! 🫂
Thank you very much! this is VERY useful!
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
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.
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”
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.
tmuxifier goes crazy
It’s awesome
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.
Which key is definitely a good topic! Thank you
LDUR everything!
What is your opinion about Zellij?
haven't tried it yet. I'll have to check it out
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.
why do i get excited every time he says btw
next level content
next level comment :)
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.
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!
How did you manage to get space between tmux and your terminal text? I have ohmyzsh set up with tmux but I can't get a space between the two ha. It's driving me mad.
I had an issue where the nvim plugin wasn't loading on launch. Using Lazy, add the argument `lazy = false` to the plugin config to make sure it loads.
That's what we called working ✊ long way to go dev boy
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.
I see you're using rails, so I was wondering which LSP/plugins/configs you use for that? Thanks and great video!
covering that in the next video, actually!
neovim & kitty 😸
My fav, I only wish kitty had remote persistence
Meeeooowwww
you're the best!
No you are :)
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)
Great videos!
What zsh theme do are you using?
10:25 so we don't need to put key bindings inside a config = function()... end?
Love the content
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
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 😅
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.
There’s also tmuxinator… I preferred that one until I wrote my own.
That’s solid as well
Yo what breed is your dog @0:49? I have a mixed breed puppy that looks just like him/her!!
He’s a mini golden doodle lol
Tryna get my workflow like yours :D
Hell yeah!!
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.
Yes! It's called nvim 🎉
Yeah but it's really time consuming I wish it could come by default@@irascib1e
Its called a webbrowser.
Do you know Emacs?
Vscode lol
What did you do at 10:17 ? @q ?
Is this multiline editing standard in nvim? I only know this from vscode
Man I'm waiting for the arch i3 video to drop.
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!
Everytime i heard LDUR!🤣
the thumbnail is visual harassment, great video though
I love the navigation, but need different keybinds since they clash with harpoon
Oh really?!
Yeah, but it might be advantageous to rebind harpoon instead
Thanks, nerd!
what kind of keyboard do you use?
happy hacking type s
Hey dude, now that you have that great setup, install vim-test, and thank me later 🎉
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!
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?
"I don't think ill ever change".....
Famous last words, I know.
Please make a video on your personal dotfiles
2:43 what is on your neck? Is that the one ring?
is it possible to send text from a vim buffer to a tmux pane? use case is going through code inside a repl.
nvim and tmux worked and can navigate, but navigation in nvim windows got destroyed while using tmux, is there any way to fix it??
did you notice in 2:42, in his neck. what is that?
thanks nerd! *LDUR echoes*
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?
I personally love session management, and the use of panes
@@typecraft_dev If I use virtual desktops instead of sessions and normal window tiling for panes, would I still benefit from using Tmux?
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?
thanks nerd
Thanks nerd!
Did anyone notice the dude's got some chocolate/burn/tattoo/something between 2:43 and 2:54 on his neck, but as he shows the workflow, the mark is gone... huh...
Anyone else notice the gold ring on the neck for a few seconds starting around the 2:42 mark? I thought I was hallucinating.
“One ring to rule them all.”😆
zellij
ldur mentioned :D
Hahaa
What is you escape mapping in nvim?
where are the conf files to use?
If you are non a web developer and you are for example C++ dev, you cannot jump to definition with this config
Does it work well with resurrect?
How to add autocomplete in Tmux?
What is that intro music? I sounds like waveshaper ...
Check it - m.th-cam.com/video/zYVDXffXNVI/w-d-xo.html
@@typecraft_dev thank you!
I like using Emacs tbh...
can you also create a video for a windows setup?
Where is the github link?
Does anyone know the name of the color theme?
I think is catppuccin, It is in his neovim series
YUP! :)