My Development Setup (Neovim, Tmux, Alacritty & Rust-based CLI Tools)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey friends in this quick video I'm gonna show you my new event setup and a bunch of other terminal tools that I've been using this is inspired by a tweet that I shared couple days ago where I put this screenshot here and I got a lot of people interested in knowing how I got my new Vim to look the way it looks so let's get started the first tool I want to look into is called Starship and this is essentially a customizable prompt for my shell and as you can see it adds some information to your terminal so for example if you look at mine you see that we have the branch name we have some diff information and the language that I'm using inside of this directory the next tool we're going to look into is called succide and this tool essentially remembers all the directories you visit and you can basically jump right back in by using Z and then the folder name or directory name a certain unrest it's super fast and it's really helpful when you're navigating your file system next we have bat which is a clone for the common tool called cat and what this does it prints out the content of a file but with syntax highlighting and it has also some git integration next we have LSD which is also written in Rust and this replaces LS it adds some colors and icons and more ways to format whenever you're listing your files next if you don't want to see the icons whenever you say LS you can use EXA which does essentially the same thing but it doesn't have the icons and finally in terms of tools I use lasaget to manage my get in my terminal it adds a very nice UI to see your git commits and the changes Etc then I use rip crop which is a rust implementation for grep and then I use FCF for fuzzy finding next I want to mention this Chrome extension which is basically an extension that allows you to navigate the browser with the same Vim keyboard shortcuts that are used to so to show you how this works here I am inside of the kitty web page and if I hit F you see that it shows you a lot of characters and for example let's say I want to go to this design philosophy here if I hit a you see it filters them out all the A's inside on the browser and then if you hit C it navigates to that place for my terminal I use alacrity which is a rust based terminal it is super fast and it's configurable using yaml so I can show you my configuration now so here I am inside of the alacrity.yaml file and you see I am using SF model nerd font I have my opacity set to 0.98 and I do have a bunch of colors that I have set here and the way I change them is by simply going all the way down and I'll basically set this colors value to whatever color scheme I have defined up there so for my editor I use new them and I specifically use lunar Vim which is a distribution for any of them and the reason why I use this one is because it comes with all the same defaults it has all the plugins and configurations that you might expect in a modern editor and it's also whenever you're installed it does not really interfere with your nvim directory so it kind of install itself in a different place which means that you can still configure and use NVM as if it's a separate editor now let me walk you through my envym configuration so if I open up my config files we see that we have a nice dashboard that comes with this distribution if you open the Explorer we see we have this config.lure which is the only file you have whenever you install this distribution you can basically configure everything inside of this one file and as you can see I have some config here but I also have some other stuff put into this Lua user directory so if we look at our plugins you see I'm using groovebox material as my main color scheme then I use vimgo and golfer for my go development and if you go down and use rust tools and crates for my rust development so we also have this trouble which shows you some Diagnostics in a very nice way have this symbols outline which is you can see it by saying space o here and what this shows you is basically an outline of your file and then we have this Zen mode and I have it mapped to control X and it basically puts everything in the middle and cleans up the screen for you yeah and that's pretty much most of the plugins I'm using it works pretty good now to show you how I use rust tools and crates inside of a rust project here you see I have a pretty simple rust to do app or it's an API written in axim so if I hit space which is my leader key I see all my options here and I have the rest tools mapped to R and when I press r i see whatever options it provides so for example if I hit R again I have this map to the runnables if I press 1 and enter this will run all my tests and if I hit leader key again R and then press on C this will open my cargo Tomo so if I go to this version here for example if I hit space and I have it I have t mapped to the rust crates plugin if I hit t and then press on for example V this will show me all the versions that have that are available for this specific crate and I can basically change it on the Fly if I go to this features here I can hit space and then press T and then F this will show me all the features that we can add to this one so if I hit space DF again I can kind of go through them let's say I want to add Alphas I hit enter and now it's added this is pretty handy and yeah that's pretty much how I use this you can see all the options whenever you hit leader r or leader T and you can basically use all these things pretty fast you don't have to see this kind of which key popping up if you kind of memorize them I'm showing it slowly so you can see what's available and yeah that's how I use rust tools and the crates plugin finally I want to show you how I use TMax so as you can see my T-Max background is transparent and it's pretty minimal there's not much going on there I intentionally made it that way so it's not distracting if I show you my configuration file there's a lot of quick things going on here I'm not going to go over every line but there's a couple things I want to show you so the first one is here so you can see the background is set to default and that's what allows me to make it transparent and then I have this interesting thing here which is kind of a fuzzy finder for your sessions so if I hit prefix J this shows me all my sessions and for example I can go to rust prefix J again go back to my configs this is really helpful and it just speeds up your workflow thank you for watching this video I hope you liked it I'll leave links in the description below for all the config files I've seen here obviously I did not go into everything in details my goal was just to show you an overview of how things are set up there's a lot to talk about here but maybe I'll leave that to a future video and I'll see you in the next one
Info
Channel: Adib Hanna
Views: 41,376
Rating: undefined out of 5
Keywords: neovim, tmux, alacritty, setup
Id: stCXFxC4OH0
Channel Id: undefined
Length: 8min 27sec (507 seconds)
Published: Fri Mar 31 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.