How I Setup LSP In Neovim For An Amazing Dev Experience - Full Guide

  Рет қаралды 94,801

Josean Martinez

Josean Martinez

Күн бұрын

Пікірлер: 173
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey guys! Hope you enjoy the video! After I finished putting it together, I realized that I forgot to include vs-code like pictograms in autocompletion. Take a look at my nvim-cmp config file in my repo to see how to do this with the lspkind plugin: github.com/josean-dev/dev-environment-files/blob/main/.config/nvim/lua/josean/plugins/nvim-cmp.lua If you want a more automatic way to configure your mason installed language servers checkout: ":h mason-lspconfig-automatic-server-setup" Also, you might notice that I use the arrow keys at times to navigate telescope and nvim-cmp results instead of the configured keymaps: Ctrl+j and Ctrl+k. This is because I've configured my "h", "j", "k", "l" keys to also be my arrow keys on a different layer on my custom made corne keyboard. For more information on that you can take a look at this video: kzbin.info/www/bejne/rYWwlHttqpKpq5Isi=FIUrU8dgbHdFAIjy
@2EOGIY
@2EOGIY 11 ай бұрын
nvimtools/none-ls.nvim in theory it is copy/paste replacement for null-ls
@iamhoracio
@iamhoracio Жыл бұрын
I'm going to turn 50 and find this fascinating. One day I'll understand all of this and thank you for sharing your knowledge with us.
@joseanmartinez
@joseanmartinez Жыл бұрын
Really appreciate it, hope you enjoy it!
@vikingthedude
@vikingthedude Жыл бұрын
Are you a programmer?
@g-luu
@g-luu Жыл бұрын
so is it true at 50 it still feels like you in your 30s?
@paulraw
@paulraw 11 ай бұрын
I'm about to turn 60 next year and I also find it fascinating
@pandatovah
@pandatovah Жыл бұрын
This is one of the best tutorials I've seen for setting up LSP in neovim! So great to see a custom setup that is really easy to grasp. As easy as a complex neovim config is possible to make at least. My setup looks somewhat similar, but you seem to have solved a few pain points I've had. Looking forward to implement those fixes. Thank you!
@charfractal9441
@charfractal9441 Жыл бұрын
thank you for all of this , i set up my neovim like 1 month ago , it was so difficult at first , but with your help i set up all decently , thank you so much fir your videos , the definetly are are gonna be one of the very important aspects of my dev journey ,!!
@qwarlock4126
@qwarlock4126 Жыл бұрын
By the way.... for anyone trying to click into this. I suggest you start installing Lazy... then one by one one adding in the plugins. Give each one a day or two so you "grock" it. Then add the next. There are so many cool plugins but if you add them all you will likely not be able to use them to their full power. Always looking forward to your vids sir!
@SlothProgrammer
@SlothProgrammer 18 күн бұрын
More true words have never been spoken.
@podgorniy.r
@podgorniy.r 11 ай бұрын
I want to commend you for the excellent work you've done. It's clear that you put a lot of effort into this, and I truly appreciate it. Having to piece everything together from scratch was a challenge, but thanks to your tutorials, the setup became a genuine pleasure. Great job!
@mrDoktar
@mrDoktar Жыл бұрын
Thank you for a nice video! I’ve been using vim for more than 15 years and I love that I am still able to find small tips and tricks I didn’t know about in videos like this. You have a new subscriber in me! 🎉
@joseanmartinez
@joseanmartinez Жыл бұрын
Awesome! Really happy to hear that.
@s8x.
@s8x. Жыл бұрын
Just wanted to say thank you for making these videos. I got into neovim because of you and used your nvim setup to get mine started and I've been hooked ever since. I also use yabai and a split keyboard now.
@joseanmartinez
@joseanmartinez Жыл бұрын
That's awesome! Glad I could help!
@feliche-demiannetliukh3703
@feliche-demiannetliukh3703 9 ай бұрын
Wow Josean, never thought that vim would have such advanced lsp functionality! Especially that trick with renaming🔥
@danielstoddart
@danielstoddart Жыл бұрын
This is another great video, Josean. Here's an update for the next time around: under your dev-environment-files you are installing via cask. Homebrew now defaults to installing from the API and suggests users save space and time by running: ~ brew untap homebrew/core ~ brew untap homebrew/cask
@NoctuaDeveloppement
@NoctuaDeveloppement Жыл бұрын
Hi, really nice explanations in this video. Love it ! It would be amazing to have the video on linting and formatting 😍
@joseanmartinez
@joseanmartinez Жыл бұрын
Sounds good! Thank you for the feedback, glad you enjoyed the video!
@TobiasFrei
@TobiasFrei Жыл бұрын
Many thanks (again). I found my own LSP config Ok for the time being. However, my cmp config now looks smarter, thanks to your careful work 🙏
@stefan_luptak
@stefan_luptak Жыл бұрын
Excellent video! I would like to see how you work with tests. Running all tests in a project, all tests in a file, or just one test under the cursors. Then navigating failing tests and stuff like this. 🙂
@theena
@theena 9 ай бұрын
Josean, a big thank you. You helped me to get Yabai and skhd working on my Mac, and now this, the chapter on LSP especially was the clearest and most lucid explanation of the inner workings. Thanks again.
@friendly__drone9352
@friendly__drone9352 Жыл бұрын
I'm not quite ready to jump to VIM full time but I try to do most of my hobby projects outside of VSCode. Your previous setup video is my current reference for installing thing and remembering shortcuts! Your videos are great!
@sumanth3036
@sumanth3036 11 ай бұрын
I was suffering with lspsaga bugs. thanks I found telescope/lsp alternative here.
@joseanmartinez
@joseanmartinez 11 ай бұрын
Awesome!
@pablopunk
@pablopunk Жыл бұрын
This was awesome! Can't wait to get rid of null-ls too now that's archived, but honestly rn I can't live without it
@joseanmartinez
@joseanmartinez Жыл бұрын
Happy to hear you enjoyed it! Will be putting something together on that soon.
@robbybobbyhobbies
@robbybobbyhobbies Жыл бұрын
Excellent coincidence - I was about to setup LSP this afternoon when your video popped up. Thanks for saving me some follicles and brain cells.
@joseanmartinez
@joseanmartinez Жыл бұрын
Awesome, glad I could help!
@ryandsouza2962
@ryandsouza2962 Жыл бұрын
A null-ls alternative video would be great! I'm currently experimenting with efm but would love to know your recommendations :)
@zenbrandon
@zenbrandon Жыл бұрын
Man, my setup is nearly identical to yours lol. Thank you for these videos. They've helped me set up an optimal development environment for my cs classes!
@joseanmartinez
@joseanmartinez Жыл бұрын
Awesome! Really happy to hear that.
@NickyTheRook
@NickyTheRook Жыл бұрын
Awesome, all your neovim setup vids are superhelpful! Please do that formatting video! I want mah Prettier autoformatting when I'm doing webdev
@r4k4210
@r4k4210 10 ай бұрын
Excelent video, i think this is the best explained video about neovim i ever watched. Great job. I wish you could make another video about DAP configuration (I'm using WSL2 with arch and arch in a the laptop). I'm using Astrovim right now, it is excelent pre configured neovim, but i want to move on my custom configuration to learn neovim in deep. LSP is the most difficult topic for me. Keep doing this excelent work.
@Redyf
@Redyf Жыл бұрын
Your videos are really good, keep up the great work Josean!
@joseanmartinez
@joseanmartinez Жыл бұрын
Really appreciate the feedback, thank you!
@mp6086
@mp6086 Жыл бұрын
Great video! Can't wait for a tutorial on linting and formatting. I'm working on a new neovim setup and I'd prefer not to use a deprecated plugin from the get-go
@arturfil
@arturfil Жыл бұрын
I often find lspsaga failing, also I am for sure interested in linting and formatting. Great video!
@qwarlock4126
@qwarlock4126 9 ай бұрын
Great video! Next up setup DAP for the major languages! Took me sooooo long to get it working!
@ryan_forte2097
@ryan_forte2097 8 ай бұрын
these videos are very helpful and have helped heaps when it comes to setting up my own Neovim config. Thanks heaps!
@JonathanMorrisMusic
@JonathanMorrisMusic Жыл бұрын
Best Neovim content on KZbin! Looking forward to hearing your thoughts on null-ls/typescript archival.
@joseanmartinez
@joseanmartinez Жыл бұрын
Really appreciate that 🙏🏽 As to the typescript archival, I reverted back to tsserver and am using a plugin for renaming files. You can check it out in my config and I mention it briefly here: 25:50. Thank you for the support!
@JonathanMorrisMusic
@JonathanMorrisMusic Жыл бұрын
@@joseanmartinez Thanks, must have missed that. I’ll probably do the same. Didn’t know about dressing.nvim - great plugin!
@mkum2141
@mkum2141 Жыл бұрын
Josean back with another banger as per usual
@joseanmartinez
@joseanmartinez Жыл бұрын
Really appreciate that, hope you enjoy it!
@ugyuji6857
@ugyuji6857 Жыл бұрын
Thank you for your great video!!! Cannot wait to see the next video on the NULL-LS alternatives. I've been trying to look for a best way to preview images on Neovim but no luck so far. Any tips or recommendation?
@blz777
@blz777 11 ай бұрын
Amazing video, thank you so much for the guide! Your explanations are very clear and very well structured!
@willothy
@willothy Жыл бұрын
I'd recommend separating plugin configs from plugin lazy specs and combining lazy specs into files containing related plugins - help with startup time, the more Lazy needs to load right away, the slower it will be - with my setup, I'm actually at the point where loading the lazy spec is the bottleneck for my startup time since I do so much lazy loading😂
@pierre-malan
@pierre-malan Жыл бұрын
Thanks this was a great video, YES new howto on null-ls would be great. keep up the good fight...
@rizki3016
@rizki3016 2 ай бұрын
thank you for sharing your knowledge
@nanashi7726
@nanashi7726 Жыл бұрын
Awesome! I like this color scheme
@doctorcooper
@doctorcooper Жыл бұрын
Comment for support! Great job! Waiting for next video!
@joseanmartinez
@joseanmartinez Жыл бұрын
Thanks!!
@gururaja470
@gururaja470 Жыл бұрын
Great video! waiting for the linting and formatting video!
@joseanmartinez
@joseanmartinez Жыл бұрын
Awesome! Thanks for the feedback
@kmlgkcydev
@kmlgkcydev 7 ай бұрын
this tutorial saved a lot of time man, appreciated
@HolaMundoDev
@HolaMundoDev Жыл бұрын
We missed your videos :)
@joseanmartinez
@joseanmartinez Жыл бұрын
Appreciate it!
@giovanniofficioso40
@giovanniofficioso40 9 ай бұрын
thank you for your awesome content! It's all explained in a detailed and simple way. I have a request: is possible to share a configuration for a data science project? I mean a configuration that makes possible to write code, test it and maybe run in a virtual environment or with an interactive console? Thank you for your time and your effort.
@ariasalmeida
@ariasalmeida 8 ай бұрын
Thank you for this video
@jamesmcgee1912
@jamesmcgee1912 8 ай бұрын
Good stuff. I'm halfway through the video, so excuse me if this is covered later, but with snippets/completions as you narrow down the selections to 1, how would you enable to completion to confirm on tab instead of having to actually or to choose one and then hit enter
@arvetemecha
@arvetemecha Жыл бұрын
hello, after years of using multiple editors (vim for sysadmin/config/quick'n dirty scripts and JetBrains suite for "bigger projects") I'm trying hard to use neovim and less resource-hungry tools. I have to tell that it's not straightforward and this video is more than welcome, because I've had a hard time guessing which package manager to use (many tutorials and tools advocated for Packer which seems to be no longer maintained...), and how they work (spec files, .config/nvim/ dir structure and so on...).
@jacksonford3057
@jacksonford3057 Жыл бұрын
Cool w8 for video with null-ls.
@hary6416
@hary6416 Жыл бұрын
hey nice guide! by the way, you can create `../plugins/lsp/init.lua` and it would detect the plugin spec. no need to set a table for `lazy.setup()`
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey! Thanks! Not sure why, but I tried this and it wasn't working for me.
@qwarlock4126
@qwarlock4126 Жыл бұрын
jGreat vid. You are really good. I love vim but have never stretched it like you do. I am game. Have you done a vid on adding java in LSP? I would totally love to see it! Looking forward to your next vid! Learing lots each time!
@dennerdaniel6301
@dennerdaniel6301 Жыл бұрын
Thanks for the great video! I have a question: How can I use a custom find_command for telescope to also include dotfiles etc.?
@alonso0188
@alonso0188 11 ай бұрын
Thank you man.
@sugoi3082
@sugoi3082 11 ай бұрын
Great guide, minimalistic setup with step-by-step explanation, that's what I need as a beginner. Following this video and video about lazy I catch one problem. When I create lsp folder lazy can't setup theme, and telescope setup crashes too and sometimes bufferline. Can't get, how it's related. Anyone had this problem?
@sugoi3082
@sugoi3082 11 ай бұрын
Looks like the problem is tokyonight theme, it's complanes that I call .setup() on nil
@stupendousboyct201transpor3
@stupendousboyct201transpor3 Жыл бұрын
if you encountered a weird behaviour where its bindings not working for nvm lsp, try this inside config function local opts = { noremap = true, client = true, buffer = buffer }
@olezunka
@olezunka Жыл бұрын
Thank you for the video!👍
@joseanmartinez
@joseanmartinez Жыл бұрын
Happy to hear you enjoyed it, thanks for the feedback!
@LeungWong
@LeungWong Жыл бұрын
hey, thanks for another great video on how to setup neovim. I have a question, do you use or can recommend some nvim plugin to generate jsdoc maybe? :)
@bassamsaleh8034
@bassamsaleh8034 Жыл бұрын
Thank you for the helpful video. I am eager to see your linter and formatting settings, as configuring those in Python can be quite difficult (since LSP doesn't support those by default ). I really like your lualine configuration, but had one question - is there a way to display the recording macro status in lualine? Having an indicator for when macro recording starts/stops and which key it is assigned to would be enormously useful. Overall, fantastic video and I appreciate you sharing your NeoVim setup!
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey! Thanks for the feedback, really appreciate it. So I haven't done this as I typically just see my macros in the neovim command line below the status line, but you can make a custom lualine component. I'd give this a look: github.com/nvim-lualine/lualine.nvim#custom-components. I would also look up ":h reg_recording()" which is a function that returns the single letter name of the current register being recorded and an empty string if not recording. Hope that helps!
@bassamsaleh8034
@bassamsaleh8034 Жыл бұрын
@@joseanmartinez Thank you for the thoughtful reply and comprehensive details. I implemented the small function you suggested, and it worked perfectly. thanks again. local function recording_status() local recording = vim.fn.reg_recording() if recording ~= "" then return "Recording @" .. recording else return "" end end
@joseanmartinez
@joseanmartinez Жыл бұрын
@@bassamsaleh8034 That’s awesome! Might add it to my config too. Thanks for sharing!!
@slapdagger5693
@slapdagger5693 Жыл бұрын
Thank you for sharing all this knowledge! I noticed you used the `config = function()` pattern a lot in this video. I'm a little confused by the many ways we can do this in lazy. For example, using their `opts` property to specify an options table and have lazy call the setup function for us with it. Would it be possible to do it that way? Would it mean that for example in order to configure both the main plugin and the dependency we would have to do so in different files? (Just curious) Also, looking at the lazy docs the config property has signature `fun(LazyPlugin, opts:table) or true`. What is the usage of the two arguments? I see we always declare an anonymous function with no arguments instead. Could you kindly share your insights on this?
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey! Yes so you can also use the opts property to automatically call the setup function, but if you have other code to run before calling setup I go for the config function instead. You can specify a table for the dependency instead of just a string and this way you can add either the opts or config properties to it and be able to configure the dependency in the same file. As to the function arguments of config, I’m not honestly sure what the first one is used for, but the second one I believe would have the value of the opts property if you were to define it. If I’m not mistaken, you could define the setup options in the opts property and pass those to the config function if you define one. Hope that helps!
@slapdagger5693
@slapdagger5693 Жыл бұрын
@@joseanmartinez You legend! Thank you for the response! I'm looking forward to your next video on formatters and linters.
@alfredoneto4381
@alfredoneto4381 11 ай бұрын
It is an amazing video! Do you already switch from null-ls to another plugin with the same function?
@thesequencer2009
@thesequencer2009 Жыл бұрын
muy buen video! gracias por compartir!
@theaveasso
@theaveasso Жыл бұрын
Thanks for the amazing videos, my suggestion is how to setup and use a debugger
@n0kodoko143
@n0kodoko143 Жыл бұрын
Great video! Thanks 👍
@joseanmartinez
@joseanmartinez Жыл бұрын
Glad you liked it, thanks for the feedback!
@jeroAhumada
@jeroAhumada 8 ай бұрын
In my case and for telescope don't work as expected. For example if Im typing in the input box of telescope, then hit whatever text i had typed gets replaced by "k". has anybody here experienced something similar?
@daltonstegner6718
@daltonstegner6718 Жыл бұрын
I was just getting your old video using packer so this is perfect timing!!! Can you tell us what plugin or app is showing us your key presses on the right side ? I think it would be helpful while learning neovim!
@joseanmartinez
@joseanmartinez Жыл бұрын
Awesome! I use keystrokes pro to show my keypresses on the screen for the videos but it’s a paid app on the mac app store. I use it primarily to show you guys what I’m typing as I type. A free mac alternative would be keycastr: github.com/keycastr/keycastr
@daltonstegner6718
@daltonstegner6718 Жыл бұрын
awesome thank you!@@joseanmartinez
@bburgess_keys
@bburgess_keys 2 ай бұрын
I'm not getting Tailwind auto-complete. When I run `:LspInfo` it shows tailwindcss lsp as not attached (but matching the file type). Any ideas?
@RealViPdude
@RealViPdude 7 ай бұрын
new to nvim here, why are you using dressing instead of telescope-ui-select when we are using telescope for other stuff anyway?
@nraw_
@nraw_ 9 ай бұрын
Do you need to configure each language server or would they be preconfigured with some defaults if you didn't do that part?
@gantushigsaruul2489
@gantushigsaruul2489 3 ай бұрын
Everytime I generate some grpc code, I have to restart my neovim (lazyvim) to see the changes. How to fix that? Please help. Also Neo-tree restarts the split window size everytime I toggle the sidebar.
@martinroa
@martinroa Жыл бұрын
Hmmm, the `automatic_installation = true`, option passed to `require('mason-lspconfig').setup` doesn't seem to work for me. Does it work for you?
@joseanmartinez
@joseanmartinez Жыл бұрын
This option will automatically install any servers configured with lspconfig if they haven't already been installed or aren't in the "ensure_installed" list.
@martinroa
@martinroa Жыл бұрын
Right. That is what I understood from the video, but it doesn't seem to work for me. Does it work for you? I really like this option because it allows me to avoid this list and simply use lspconfig to determine which LSPs to install. Unfortunately, it's not working for me: nothing gets installed even though I've set some LSPs in my lspconfig. I also couldn't find any documentation about this option.@@joseanmartinez
@viljanvanraaij916
@viljanvanraaij916 Жыл бұрын
@martinroa The same happened to me. It is caused by a flaw in the setup where nvim-lspconfig is loaded before mason-lspconfig. This causes automatic_installation to not work.
@antoinemoran3537
@antoinemoran3537 Жыл бұрын
@@viljanvanraaij916 Hey, did you solve the order problem?
@oliknight8897
@oliknight8897 9 ай бұрын
My keybinds in on_attach aren’t working, on_attach runs but if i try to print after one of the key maps are set, the print statement won’t run
@diwasrimal6750
@diwasrimal6750 Жыл бұрын
Hi there! I'd like to ask how fast your nvim loads with all the plugins you use. I'd like to know if lazy really does some improvement. Can you post your startuptime using `nvim --startuptime file` ?
@joseanmartinez
@joseanmartinez Жыл бұрын
Hello! With my previous packer setup I was getting around 130ms and with my lazy.nvim setup I'm getting around 60-70ms due to caching and bytecode compilation of Lua modules.
@ZilverDx
@ZilverDx Жыл бұрын
Thank you for this video but what about Lspsaga? Did you try typescript-tools as js/ts lsp? I've had issues with memory leak with tsserver
@programmingchannel9739
@programmingchannel9739 Ай бұрын
I hoped you included config for Python development, I tried to do so upon your nvim repo, I failed!
@shyam2305
@shyam2305 11 ай бұрын
Reached this session looking for help on jdtls. Learnt about organizing configurations. Got the jdtls working for a gradle based java 8 project. Since jdtls required jre17, I had hardcode the path to jvm17 for jdtls. Is there a way to pass an environment variable only to neovim through any configuration? Putting in a bashrc messes with other tools. Wrapper script is my last option.
@evankiefl
@evankiefl 11 ай бұрын
Do you have call signature autocompletion for variable names and/or a call signature popup? I followed your setup but didn't end up with these functionalities.
@sputnick1
@sputnick1 Жыл бұрын
Another banger
@joseanmartinez
@joseanmartinez Жыл бұрын
Happy to hear that, thanks!
@sayChristIsKing
@sayChristIsKing 7 ай бұрын
BROOOO PLEASE I HOPE THIS VIDEO WILL HELP ME! I'm literally gonna lose my shit if it's not gonna help me. Every tutorial I've watched so far only makes the LSP work in the .config directory and only to lua. I DON'T KNOW ANYMORE MAAAAAAAAAN EVERYTIME I'm reading comments under the video and it works for everybody for SOME REASON IF THIS NOT GONNA HELP IMMA KMS
@huseyinumutayran6344
@huseyinumutayran6344 11 ай бұрын
I have a question. why do we need to add the language servers we want to lspconfig if we can download those from mason? and what mason "ensure_installed" is stands for
@דניאלאביב-ו6ת
@דניאלאביב-ו6ת 5 ай бұрын
How can I configure my lsp server, for example I'm using clangd as c++ lsp server, but it's set by default to c++11 which is old.
@CapturedinMegapixels
@CapturedinMegapixels Жыл бұрын
How did you overlay an opaque terminal on the video and what are you using to show the keys press on the right?
@christopherbui7315
@christopherbui7315 10 ай бұрын
Does anyone have an example with this working with rust-tools custom on_attach? For example adding rustfmt +nightly. I'm really struggling to get my on_attach to work as expected...
@andyheld3136
@andyheld3136 Жыл бұрын
Thanks for this guide. For some reason i am unable to scroll via ctrl+b and ctrl+f with nvim-cmp for ./lualine. Any idea? I use the same config like in your repository. The scrollbar is not popping up at all when previewing the file
@diggerdog001
@diggerdog001 10 ай бұрын
What could be the problem that when I delete import, the lsp does not show the error that the variable was not found? 31:00
@inspacesilence
@inspacesilence 9 күн бұрын
it's been a month i have been using Neovim and i am still stuck with configuring this tool
@MrDjge
@MrDjge Жыл бұрын
I have a question when using nextjs and creating routes like (folderName) -> [id] -> route.tsx it is impossible to save the file: E212: Can't open file for writing: no such file or directory
@Shivam-to8wc
@Shivam-to8wc Жыл бұрын
Can anyone tell me how can I set zig as a compiler for nvim - treesitter because the compiler it's using by default didn't working
@borkesahin8729
@borkesahin8729 8 ай бұрын
How did you install icons and make the background transparent?
@Good-and-Geeky
@Good-and-Geeky Жыл бұрын
Loving using Neovim. I’m using NVChad now. Now and then in an html file Neovim stops giving me the snippets which are so useful. Any ideas??
@JoshShindler
@JoshShindler Жыл бұрын
I've followed the entire tutorial series, but now I'm having trouble setting up the lsp for Vue 3 projects. Can anyone explain the steps involved? Thanks in advance.
@yyfyyf6829
@yyfyyf6829 Жыл бұрын
NEED Null-ls alternative desperately!!
@joseanmartinez
@joseanmartinez Жыл бұрын
Haven't switched yet, but will be looking into it. Thanks for the feedback!
@ryansteiger6960
@ryansteiger6960 Жыл бұрын
Hey Josean, thank you for the video. How do you get real emmet support? I don't mean the language server but the ability do to `div.classTAB`
@MsDuketown
@MsDuketown 11 ай бұрын
Did you check GNU Guix?
@oreonengine9444
@oreonengine9444 9 ай бұрын
Hey, what is the keyboard you are using?
@pirate4579
@pirate4579 Жыл бұрын
FIRST!!!!!!
@swarajgaikwad8787
@swarajgaikwad8787 4 ай бұрын
i don't want the documentation just text suggestion how can i do that
@tannguyen20-07
@tannguyen20-07 11 ай бұрын
hi, when u're working with many projects, do u have a convenient to switch and move between them easily? like project management in vscode for an example
@joseanmartinez
@joseanmartinez 11 ай бұрын
Hey! Yes I use tmux for this, I talk more in depth about it here: kzbin.info/www/bejne/i17SnnSCjK51pdU
@tannguyen20-07
@tannguyen20-07 11 ай бұрын
​ @joseanmartinez Thx u so much. Your video is very helpful. but im still struggling with the scenario. When I want to open project B, i have to find the path and open it with nvim or tmux, and vice versa whenever im restart the iTerm. Or maybe I am delighted now, so u mean i can store each project as a new session in tmux and then switch them by ctrl +s+s. Many thx sir, i have subscribed
@joseanmartinez
@joseanmartinez 11 ай бұрын
@@tannguyen20-07 Typically I use windows in the same session for projects that are related to each other like frontend and backend of the same app, and separate sessions for unrelated projects. To cycle through windows in the same session I use “Ctrl-a + n” and “Ctrl-a + p” (Ctrl-a is my prefix) mostly or “Ctrl-a + #”. Within a window for a project I typically have multiple panes, one for neovim and others for running processes, etc… Then whenever I get into the terminal I can just jump back into tmux and continue working where I left off and my sessions will be there. For saving and not losing them across system restarts, I use the plugins I mention in the video. Hope that helps! Thanks for the feedback and support, really appreciate it!
@tannguyen20-07
@tannguyen20-07 11 ай бұрын
@@joseanmartinez Marvelous. Many thanks to u :D
@mmzzzmeemee
@mmzzzmeemee Жыл бұрын
have you had problems with the tailwind LSP so far? i was using a setup similar to yours previously (i.e. mason, null, lspconfig, etc.), it worked fine for every LSP, except that when it came to tailwind autocompletion, my CPU usage just went too high. I'm using coc for now because tailwind doesn't lag on coc for some reason. I'm curious how tailwind is for mason,null,lspconfig now tho. Have these issues been fixed already?
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey! I have been using the tailwind lsp for a while now, I remember it being a bit laggy a while back but I have experienced less issues with it lately. Haven’t taken a look at the CPU usage. It looks like the issue in nvim-cmp has been resolved and it should be better. Take a look at this issue: github.com/tailwindlabs/tailwindcss-intellisense/issues/569
@mmzzzmeemee
@mmzzzmeemee Жыл бұрын
@@joseanmartinez thanks!
@bad_Al
@bad_Al Жыл бұрын
Great video. How can I make Neovim blur effect!?
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey! Thanks! That’s just an effect I created for the video through video editing.
@Dev_Eli
@Dev_Eli Жыл бұрын
How do you debug bro? Do you have a video specific of installing, configuring, and using nvim-dap? After a year in neovim, one of the reasons that stopped me using it is the debugger.
@joseanmartinez
@joseanmartinez Жыл бұрын
Hey! I haven't setup a debugger yet in my config, but I'm planning on possibly making a future video on how to set this up. As a web developer, I only reach for a debugger occasionally and when I need to do so I reach for VSCode, Chrome dev tools or another tool outside of Neovim. Setting up debugging in Neovim is a common pain point. Thanks for the feedback!
@ro0t115
@ro0t115 8 ай бұрын
can some body tell how this trsparent neo vim and the video he edited i want to learn it...to...how.
@qyqstc
@qyqstc Жыл бұрын
Hi, could you please make a cheatsheet for the key mappings? It's quite annoying for me to go into all the lua scripts to see which key is set to telescopre, which key is set to lsp, if there's a cheatsheet for key mappings, that would be great !
@geoffjball
@geoffjball 11 ай бұрын
You can run `:h map-commands` to see all the different commands you can run to view your keymaps (e.g., `:map`). Even better, `:Telescope keymaps` provides a (searchable) list of your keymaps (custom and built-in). I would highly recommend adding a table to your keymaps with a `desc` property to describe the keymap, which will appear both in your keymap list and in which-key.
@catwhisperer911
@catwhisperer911 11 ай бұрын
Add this to your nvim-tree configuration and it will close whenever you open a file: config = function() require("nvim-tree").setup { actions = { open_file = { quit_on_open = true, }, }, } end
@joseanmartinez
@joseanmartinez 11 ай бұрын
I didn’t know I could do that, thanks!
@Shechovalencia
@Shechovalencia Жыл бұрын
Missed the LSP Saga for this config. Still using it?
@vikingthedude
@vikingthedude Жыл бұрын
Is there an nvim-lspconfig configuration option to turn off LSP in certain file names?
@joseanmartinez
@joseanmartinez Жыл бұрын
I'm not sure about a config option for specific filenames, but there is an option for filetypes. You can set the filetypes with the "filetypes" property and assign a table of filetype names to it.
@vaisakhkm783
@vaisakhkm783 Жыл бұрын
26:10 should we do this for all language servers? so what about the languages that we install though mason ui without editing the config? is there a way to apply the default config to all language servers and only change one i wanted to update? 😪 one year later.. still gone over my head why configuring lsp is this difficult, even after they made it sooo simple??
@joseanmartinez
@joseanmartinez Жыл бұрын
I like to manually do this, but if you prefer something more automatic checkout: ":h mason-lspconfig-automatic-server-setup". You can define a default handler that will run for any servers you install that don't have a config setup for them. You can also take a look at lsp-zero which is pretty much what I show in this video, but a bit more streamlined/abstracted.
@diwasrimal6750
@diwasrimal6750 Жыл бұрын
You can get the list of installed servers using local servers = require("mason-lspconfig").get_installed_servers() and just running a loop will be fine to setup them using those two default lines local lspconfig = require("lspconfig") for _, server in pairs(servers) do lspconfig[server].setup({ on_attach = on_attach, capabilities = capabilities, }) end
@joseanmartinez
@joseanmartinez Жыл бұрын
@@diwasrimal6750 Awesome!
@vaisakhkm783
@vaisakhkm783 Жыл бұрын
Thank you guys... 😅
How To Setup Linting And Formatting In Neovim To Replace null-ls
26:26
Josean Martinez
Рет қаралды 56 М.
7 Amazing CLI Tools You Need To Try
18:10
Josean Martinez
Рет қаралды 335 М.
WORLD BEST MAGIC SECRETS
00:50
MasomkaMagic
Рет қаралды 47 МЛН
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 205 МЛН
Cute
00:16
Oyuncak Avı
Рет қаралды 11 МЛН
Настраиваем свой конфиг для NeoVim на Lua
52:17
PurpleSchool | Anton Larichev
Рет қаралды 39 М.
I tried Neovim Distributions so you don't have to
9:12
typecraft
Рет қаралды 163 М.
How I Setup Neovim To Make It AMAZING in 2024: The Ultimate Guide
1:26:35
Josean Martinez
Рет қаралды 240 М.
I ranked EVERY terminal emulator. It was nuts
20:35
typecraft
Рет қаралды 77 М.
The Ultimate Database Control. Right WITHIN NEOVIM
9:35
DevOps Toolbox
Рет қаралды 56 М.
My Neovim Dev Workflow
41:37
Lazar Nikolov
Рет қаралды 28 М.
Tmux has forever changed the way I write code.
13:30
Dreams of Code
Рет қаралды 989 М.
C++ Coding with Neovim - Prateek Raman - CppCon 2022
59:49
NVChad - Turn Neovim Into An Awesome IDE
14:48
Mental Outlaw
Рет қаралды 259 М.