Setup VSCode Like Neovim

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 106

  • @nikolovlazar
    @nikolovlazar  6 หลายเดือนก่อน +24

    Thanks for watching! I already have a few more keybindings in mind, so there might be a Part 2 video soon. What would you like to see?

    • @victoroliveira9397
      @victoroliveira9397 หลายเดือนก่อน

      I would love that! your keybindings helped me so much.

  • @patrykkabaj
    @patrykkabaj หลายเดือนก่อน +2

    Amazing, thanks for such a good video. I've spent 2 months in NeoVim mostly to learn Vim motions and... VSCode seems to have overwhelmingly better UX. Feels faster, reloading by itself etc.
    Superb video.

  • @sharjeelmazharr
    @sharjeelmazharr หลายเดือนก่อน +5

    i canr believe how could you have such a great content and this little subs? Really apriciate the work you are doing!

    • @tinotaylor
      @tinotaylor 9 วันที่ผ่านมา

      Everyone starts from somewhere.

  • @Neutralpointz
    @Neutralpointz 6 หลายเดือนก่อน +8

    Neovim came into my view a few days ago. I've never really used it, i am mainly a VSCode guy.
    But this made me curious enough to try vim motions and set up my own keybindigs.
    Thanks a lot and we need more content like this on here.

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      Glad you liked it! Vim motions definitely changed the way I write and edit code. There are lots of motions that I don't know or I'm not using regularly just yet, but I'm not in a rush. Have fun exploring the Neovim ecosystem! If you have questions or need help, don't hesitate to reach out either here or on the creatures.dev Discord.

  • @Danielo515
    @Danielo515 6 หลายเดือนก่อน +6

    Have to be honest, didn't expected this to be that good

  • @JonMartins
    @JonMartins 6 หลายเดือนก่อน +3

    This is amazing my man.
    Just added this to my vscode.
    I mostly use vscode for debugging a little bit and to do formatting or editing of jsons. This is a game changer!

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน

      Glad you liked it man!

  • @sarthakgadge5223
    @sarthakgadge5223 22 วันที่ผ่านมา

    hey, I really appreciate this video, i was facing a lot of problems and you helped me solve them, i love that we have people like you in this community, thanks a lot mate, keep up the good work.

  • @beepboopbaplawl
    @beepboopbaplawl หลายเดือนก่อน +1

    terminal vim only tryhards are so annoying. this config solves every problem ive had with the vim+vscode combination and will be a great foundation to build on top. Thank you

  • @b1mind
    @b1mind 6 หลายเดือนก่อน +1

    Love seeing you show the programming of vsCode keybinds you can do some really powerful stuff.

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +2

      The base functionality is wild. Imagine what you can do with extensions on top of it 😁

  • @CNich90
    @CNich90 หลายเดือนก่อน +1

    Super helpful, thanks for putting this out! Question on shift-k when moving lines, shouldn’t the condition just be when in Visual mode?

  • @luispedrocamacho
    @luispedrocamacho 6 หลายเดือนก่อน +4

    Great video! Just noticed that your a using a voyager keyboard and you have a kinesys keyboard in your background. What's your opinion between the two? I ask because I have a voyager and I'm struggling a bit so I'm considering to buy the kinesys.

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +2

      I had the Kinesis first and I loved it, but it was too big to carry around, so that's why I got the Voyager. What problems are you having with the voyager? I actually love it. Haven't touched my Kinesis ever since I got the Voyager.

  • @Knaif
    @Knaif 6 หลายเดือนก่อน +2

    Nice video, I will try it out. I have been following Ben Awad's TS fullstack video for the last month and have found myself having to move my right hand to hit arrow keys or end a lot when writing code, and have been getting swamped with tabs since I didn't know the shortcuts to navigate between splits and tabs to close them without a mouse. One thing I think was missing in this video was navigating to terminals and swapping between them.

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      Good point! I’m using the default ones for the terminal (ctrl-backtick to toggle, and was it something with ][ to switch between?). I’ll think about what makes the most sense and add it to my keybindings.json file.

  • @Greyvend
    @Greyvend 6 หลายเดือนก่อน +1

    Amazing shortcuts and great easy to follow guide. Well done, sir! Can you share what theme do you use for VS code? And also, how did you make your cursor move so smoothly when you type and jump around?

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      Thanks! I've updated the video description with all the info and links.

  • @pydi99
    @pydi99 6 หลายเดือนก่อน +1

    You are a legend, I'm kind of facing issues with neovim(nvchad) it is freezing I don't know why, having the same problem with lazyvim too. So kindof thinking to switching back to vscode and came across this video. Now I'll definitely switch to vscode!

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      Thank you! I think I've experienced the freezing issue as well. I think it's the built-in "floating" terminal. Usually happens when I'm using just neovim and I'm using the floating terminal to run apps. I've switched over to tmux + neovim and the issue stopped happening. Is that the same issue you're having?

  • @bioburden
    @bioburden 11 วันที่ผ่านมา

    Great video. I really wish VScode could show you the file previews when flicking between the current open files like in Neovim. Any thoughts here?

  • @KevinNitro
    @KevinNitro 6 หลายเดือนก่อน +1

    Hi, your video's content is great. ❤❤
    Btw what tiling window app / manager you are using? And also the app shows keystroke on screen? 🥰
    Also will you update the gist link in the future for more keymaps? Do you include it in your dotfiles repo or something?

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      Hey Kevin! Glad you liked it!
      Window manager: the built-in functions of Raycast www.raycast.com
      Keystrokes app: KeyCastr github.com/keycastr/keycastr
      I'm definitely going to add more keymaps - thinking of debugging keymaps right now (toggle breakpoints, run jobs etc...). I'll try to remember to update the gist, but it's better if I add them to my dotfiles somehow. Still not sure how VSCode does the sync. I might even do a Part 2 video as well.

    • @KevinNitro
      @KevinNitro 6 หลายเดือนก่อน

      @@nikolovlazar can I suggest remap to previous / next selecting items from drop down menu? I wonder if vsc has those apis 🙄

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      I can see that being super useful! I have my arrow keys mapped to hjkl on my keyboard, so I don't have to move my hands to use the arrows, but I think I've seen being used to navigate. I'll look into that keymap as well. So far I got this one + the debugging keymaps, so I can already see the next video forming 😁

  • @JIeFu-ee4xk
    @JIeFu-ee4xk หลายเดือนก่อน

    execllent video for setting up shortcuts in VSCode, Thank you sir.

  • @bleakCode
    @bleakCode 6 หลายเดือนก่อน +3

    This is freaking beautiful! Awesome stuff

  • @mareksvitok8702
    @mareksvitok8702 2 หลายเดือนก่อน +1

    This is the best video of this kind. Thank you.👍

  • @alanalvarenga9765
    @alanalvarenga9765 2 หลายเดือนก่อน

    This is amazing! Thank you for the bottom of my heart!

  • @Yesterday_i_ate_rat
    @Yesterday_i_ate_rat 6 หลายเดือนก่อน

    Can you make a video about your nvim setup ( keymaps, options -- explaining briefly ) & ( what are the plugins you use for web development )

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน

      That could be cool. Thanks for the idea!

  • @anvesh777
    @anvesh777 6 หลายเดือนก่อน +2

    Thanks for the video
    20:32 to focus git message box
    {
    "key": "space g g",
    "command": "runCommands",
    "args": {
    "commands": [
    "workbench.scm.focus",
    "list.focusFirst",
    "list.select"
    ]
    },
    "when": "your-when-condition"
    },

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +2

      Thank you Anvesh! This didn't work for me, but your comment made me google around and I found out that I needed the "multi-command" extension in order to make it work. I've updated the gist in the description, but here's what worked for me:
      {
      "key": "space g g",
      "command": "extension.multiCommand.execute",
      "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)",
      "args": {
      "sequence": ["workbench.view.scm", "workbench.scm.focus"]
      }
      }

    • @GonzaloStoll
      @GonzaloStoll 6 หลายเดือนก่อน +1

      @@nikolovlazar actually this worked perfectly fine for me:
      {
      "key": "space g g",
      "command": "runCommands",
      "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus)",
      "args": {
      "commands": ["workbench.view.scm", "workbench.scm.focus"]
      }
      },
      Awesome video by the way 👏

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน

      @@GonzaloStoll hmm that's weird. for some reason my VS Code didn't wait for the first command to finish (opening the scm panel) before trying to focus on the commit input, so the focus never happened. are you running on windows/linux?

  • @zrxmax_
    @zrxmax_ 5 หลายเดือนก่อน

    Maaaan this is just what I've been searching for!!! I used neovim, and was wondering, how can I turn vscode into neovim with it's shortcuts and etc. thank you!!

    • @nikolovlazar
      @nikolovlazar  5 หลายเดือนก่อน

      Glad you liked it! Neovim rules! But VS Code is also a powerful editor. This trick brings you the best of both worlds 😁

  • @joseantoniovela9599
    @joseantoniovela9599 หลายเดือนก่อน

    best video about made vscode like neovim, thanks a lot !!!

  • @adibis.vanced
    @adibis.vanced หลายเดือนก่อน

    Have to use vscode for work. This was amazing. Subscribed.
    Now if I could only get DVT, systemverilog, mercurial working with neovim... :(

    • @nikolovlazar
      @nikolovlazar  หลายเดือนก่อน

      Glad you liked it! Haven't used those technologies with neovim, but I hope you get them to work.

  • @aashishkathait4994
    @aashishkathait4994 2 หลายเดือนก่อน

    i use vim bindings in vs code buy for file explorer part i have to use mouse mostly , this video helps me in exactly that. Thanks bro

  • @jimmyvu-dev
    @jimmyvu-dev หลายเดือนก่อน +1

    Hi Lazar, thanks for the video.
    When i use 'space c a' to open the code action menu, then i can only use the arrow buttons to move up and down the action menu, is there a way that we can use j , k to move up and down.

  • @abdullahnettoor4393
    @abdullahnettoor4393 2 หลายเดือนก่อน

    Great content. What about the keybindings for terminal. It'll be helpful if we can configure it also.

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน +1

      Thank you! I didn't actually test the terminal. If you figure it out share it in a gist!

  • @eightbrain
    @eightbrain 2 หลายเดือนก่อน +1

    awesome stuff!

  • @prashlovessamosa
    @prashlovessamosa 6 หลายเดือนก่อน +5

    this is so helpful thanks.

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน

      Glad it was helpful!

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 3 หลายเดือนก่อน +1

    Hi, do you happen to have any video on how to install autocomplete or the necessary extensions for react, next tailwind etc in nvim ?

    • @nikolovlazar
      @nikolovlazar  3 หลายเดือนก่อน +1

      I don't have a video on it, neither I manually set that up. Check out LazyVim's docs for TypeScript: www.lazyvim.org/extras/lang/typescript to see how it configures it. There's also a page for setting up Tailwind CSS as well. Even if you don't use LazyVim, you can still replicate this config in your own setup.

    • @Deus-lo-Vuilt
      @Deus-lo-Vuilt 3 หลายเดือนก่อน

      @@nikolovlazar thanks 👑

  • @ahmedAltariqi
    @ahmedAltariqi 4 หลายเดือนก่อน

    I'd love to watch a full vccode set up video ❤

    • @nikolovlazar
      @nikolovlazar  4 หลายเดือนก่อน

      That’s interesting! What exactly are you interested to see?

    • @ahmedAltariqi
      @ahmedAltariqi 4 หลายเดือนก่อน

      @@nikolovlazar It'd be cool if you show us how to set up a neovim-like experience in vscode from scratch.

  • @houstonbova3136
    @houstonbova3136 2 หลายเดือนก่อน

    You can get most of this (and a bit snappier feeling) with the VSCode Neovim plugin and the install LazyVim with the VSCode extra. Then all you have to worry about (mostly) is the workspace nav stuff.

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน

      Hmm, I couldn't make that work for some reason. I do use Neovim with LazyVim and the VSCode extra, but the Neovim plugin didn't work for me. Might give it another try!

    • @houstonbova3136
      @houstonbova3136 2 หลายเดือนก่อน

      Interesting! It took a minor amount of tweaking (Two settings and doing an apt install instead of snap) for windows + WSL. It worked immediately on my pure Linux install the last time tried. I would think it would be the same for macOS.
      Either way there is a few binds you have in here that aren’t covered by that and I will definitely be stealing them!!

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน

      Nice! I think I should try with a separate Neovim config just for VSCode, not reusing my existing one.

  • @hamidr9797
    @hamidr9797 2 หลายเดือนก่อน +1

    Great stuff ❤

  • @farzadmf
    @farzadmf 6 หลายเดือนก่อน +1

    Very useful video, thank you!

  •  10 วันที่ผ่านมา +1

    if you can have VScode like this, why would you use Vim over this? This has more functionalities that are already there and dont need any configuration. Thanks.

  • @RodrigoSilva-un9xh
    @RodrigoSilva-un9xh 6 หลายเดือนก่อน +1

    This is amazing. Thanks

  • @narendrashukla3129
    @narendrashukla3129 2 หลายเดือนก่อน

    Is there a reference to “when” commands so that I can see shortcuts reference and create my own key bindings

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน

      You mean a reference to the possible values for the “when”? I’m not sure. I needed it as well, but managed to come up with this config. I couldn’t find a good documentation for that.

  • @JoonhwanLee
    @JoonhwanLee หลายเดือนก่อน

    Hi, Great videos Thanks.
    I have a question. When I hit `-g-d ` , i cannot go to previous location using `Ctrl-O`
    Any Ideas?

    • @nikolovlazar
      @nikolovlazar  หลายเดือนก่อน

      Hmm, not sure actually. I can't seem to reproduce it on my end. Did you figure it out in the meantime?

  • @MuhammadRizo-b1r
    @MuhammadRizo-b1r หลายเดือนก่อน

    amazing man, could you make a video about your nvim config. Cuz i prefer walkthrough rather than just copy pastimg the dot files. thanks🎉

    • @nikolovlazar
      @nikolovlazar  หลายเดือนก่อน +1

      Thanks! I do have a video on my workflow that touches part of my nvim config: th-cam.com/video/G7-qUMKSH_Y/w-d-xo.html

    • @MuhammadRizo-b1r
      @MuhammadRizo-b1r หลายเดือนก่อน +1

      @@nikolovlazarappreciate 🤝

  • @BlackCide1
    @BlackCide1 2 หลายเดือนก่อน

    amazing, new subscriber

  • @warmdev
    @warmdev 6 หลายเดือนก่อน +1

    what theme are you use for nvim?

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน

      I'm using oxocarbon in neovim: github.com/nyoom-engineering/oxocarbon.nvim.
      But I modified it slightly in some places so it plays nicely with other plugins. Here's the full config: github.com/nikolovlazar/dotfiles/blob/main/.config/nvim/lua/plugins/colorscheme.lua

    • @warmdev
      @warmdev 6 หลายเดือนก่อน

      @@nikolovlazar thank you

  • @belkocik
    @belkocik 6 หลายเดือนก่อน +2

    What is your keyboard?

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      It's the ZSA Voyager! www.zsa.io/voyager. My main driver before was my Kinesis Advantage (top shelf behind me), but it was too big to carry it around, so I switched to the Voyager.

    • @nameash1891
      @nameash1891 หลายเดือนก่อน

      "voyager" buy it's not wireless :(

  • @haroldhankerchief6056
    @haroldhankerchief6056 4 หลายเดือนก่อน

    thanks so much for this. i downloaded your json file from github but for some reason "space c r" for rename just wont work?

    • @nikolovlazar
      @nikolovlazar  4 หลายเดือนก่อน

      Glad you liked it! Btw I just checked again and "space c r" works fine for me. Just gotta make sure your cursor is on a variable/argument/function/something you can rename.
      This is the command again:
      {
      "key": "space c r",
      "command": "editor.action.rename",
      "when": "vim.mode == 'Normal' && editorTextFocus"
      },

  • @zdravkoiliev4814
    @zdravkoiliev4814 5 หลายเดือนก่อน

    Awesome video! When I toggle the sidebar it does not focus on it, so I still have to click or have a second command for focusing. Is it the same for you?

    • @nikolovlazar
      @nikolovlazar  5 หลายเดือนก่อน

      Yep, " e" just seems to toggle the sidebar, but not actually focus on it. You'd need to additionally invoke the "workbench.action.focusSideBar" in order to focus on the sidebar, but it gets tricky when you want to hide it. I think you'd need to define multiple key configs with different "when" and commands in order to achieve this effect.

    • @zdravkoiliev4814
      @zdravkoiliev4814 5 หลายเดือนก่อน

      @@nikolovlazar manage to fix this. When you are in the editor it will open the sidebar and focus the current file. If you are in the sidebar it will close it and focus on the editor. Not pretty but it works(I haven't tested this much, but so far I don''t see problems) :D
      {
      "key": "space e",
      "command": "extension.multiCommand.execute",
      "args": {
      "sequence": [
      "workbench.action.toggleSidebarVisibility",
      "workbench.files.action.focusFilesExplorer"
      ]
      },
      "when": "vim.mode == 'Normal' && (editorTextFocus || !inputFocus) && !sideBarFocus"
      },
      {
      "key": "space e",
      "command": "extension.multiCommand.execute",
      "args": {
      "sequence": [
      "workbench.action.toggleSidebarVisibility",
      "workbench.action.focusActiveEditorGroup"
      ]
      },
      "when": "sideBarFocus && !inputFocus"
      },

    • @nikolovlazar
      @nikolovlazar  5 หลายเดือนก่อน

      @@zdravkoiliev4814 that's awesome! I'll test it out today. Thanks Zdravko 🙌

    • @nikolovlazar
      @nikolovlazar  5 หลายเดือนก่อน

      @@zdravkoiliev4814 it's working perfectly! There's one more use case that needs to be handled - when you're focused on your editor but the sidebar is still visible:
      {
      "key": "space e",
      "when": "vim.mode == 'Normal' && editorTextFocus && foldersViewVisible",
      "command": "workbench.action.toggleSidebarVisibility"
      }
      love how the toggle works now!

  • @abrarmasumabir3809
    @abrarmasumabir3809 หลายเดือนก่อน

    what font are you using?

    • @nikolovlazar
      @nikolovlazar  หลายเดือนก่อน

      It’s Dank Mono!

  • @dhanuzh.d
    @dhanuzh.d 4 หลายเดือนก่อน +1

    can tell me colorscheme name for neovim

    • @nikolovlazar
      @nikolovlazar  4 หลายเดือนก่อน

      Hey! This one is Oxocarbon: github.com/nyoom-engineering/oxocarbon.nvim. Currently I'm using Cyberdream (github.com/scottmckendry/cyberdream.nvim) you can check it out in my latest streams / videos.

  • @omerfarukkara4138
    @omerfarukkara4138 2 หลายเดือนก่อน

    The only problem I have with this configuration is the following:
    1. Open the explorer
    2. Focus on the editor
    3. Try to use / or ? to search something.
    Space now acts like a leader key. I could not figure out what mode vim is in when searching for a word. So I need to close the explorer and search something like that. Not very good. :( Is there a solution for this?

    • @omerfarukkara4138
      @omerfarukkara4138 2 หลายเดือนก่อน

      vim.mode != SearchInProgressMode works if anyone needs. :)

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน

      Nice! Thanks for sharing this!

  • @kiransilwal
    @kiransilwal 2 หลายเดือนก่อน

    I am having hard time debugging without using mouse in this set up. Would appreciate if there is any guidance related to that.

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน

      Honestly me too, that's why I'm staying with Neovim 😁 VSCode does have keybindings for debugging actions like "step over" and "add breakpoint". You can extend this configuration with those keybindings if you want to cover debugging as well.

    • @kiransilwal
      @kiransilwal 2 หลายเดือนก่อน

      @@nikolovlazar Thanks for the response. I would love to switch to Neovim. But I do flutter too and there is a whole new areas with emulators and AVDs. I haven't tried it yet so having doubt about that too.

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน

      yeah that could be tricky. everything is a command and can be triggered via the command line, but in some cases IDEs put that command behind a button (eg. Play button in Xcode).

  • @Yesterday_i_ate_rat
    @Yesterday_i_ate_rat 6 หลายเดือนก่อน

    Amazing vid, Thanks :-D

  • @freezxify
    @freezxify 6 หลายเดือนก่อน +1

    Your discord invite is invalid

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน

      Which one did you try? The one on creatures.dev should work.

  • @dace9294
    @dace9294 4 หลายเดือนก่อน

    Nice

  • @EddieVillamor
    @EddieVillamor 6 หลายเดือนก่อน +1

    So many of these commands already have a built in keybinding. This is basically a loooooong video about how to do keybindings 😴 😴 gotta get back to work and actually code faster..
    Would recommend just summarizing each key bindings you use and all the condition predicates instead so we can actually get through these in time.

    • @nikolovlazar
      @nikolovlazar  6 หลายเดือนก่อน +1

      Of course they do. I do mention in the beginning that this video is about matching Neovim's keymaps. It's not about extending VS Code. Thank you for the recommendation though!

  • @muizzyranking
    @muizzyranking 2 หลายเดือนก่อน

    No but why is your neovim so clean? 🥹
    Please share your dots.

    • @nikolovlazar
      @nikolovlazar  2 หลายเดือนก่อน +1

      I made some changes since then, but still check it out! 😁
      Video on my latest setup: th-cam.com/video/G7-qUMKSH_Y/w-d-xo.html
      Dotfiles: github.com/nikolovlazar/dotfiles