Why I prefer Neovim over VSCode

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024

Комментарии • 302

  • @zanoxie
    @zanoxie 2 года назад +7

    This is the best video I've found on the vscode vs neovim. Great job! You've convinced me to try using neovim full time a try

    • @devonduty
      @devonduty  2 года назад +1

      Thanks Zange767, I appreciate this nice comment, if you have any questions, let me know!

  • @ZeroInfinity-t1r
    @ZeroInfinity-t1r Год назад +28

    In vs code there is a command to hide the side bar (command palette > keyboard shortcuts > View: Toggle Activity Bar Visibility) and there is also zen mode. There is also a bunch of git commands in the keyboard shortcuts menu.

    • @zuowang5185
      @zuowang5185 9 месяцев назад +6

      yes, figuring out these commands is the same in neovim and vscode, so that is not really an advantage for neovim

    • @Infamous159
      @Infamous159 7 месяцев назад

      @@zuowang5185 you mean that's not really an advantage for VSCode.

  • @SmartTactics101
    @SmartTactics101 2 года назад +36

    Great video :) I have used VSCode, Eclipse, IntelliJ and vim and I also hate using my mouse ;)
    But I think the git example is not really fair, because nothing stops you from opening the terminal in vs code via hotkey and using the git cli. Works perfectly fine, no mouse involved.
    Personally I prefer IntelliJ with their vim plugin atm. Gives me the smoothest experience combined with the amazing "Code With Me" remote pair programming feature.
    In my private projects I use VS Code with a vim plugin but I want to replace it with neovim :)

    • @devonduty
      @devonduty  2 года назад +5

      Thank you! I partially agree with git, but it's still a bit too cumbersome to use the git cli. I prefer lazygit!

    • @SmartTactics101
      @SmartTactics101 2 года назад +4

      @@devonduty I think I have to try that :) Lazy is my jam.

    • @devonduty
      @devonduty  2 года назад +1

      @@SmartTactics101 :D You can check out my video about it: ruclips.net/video/hwC4JduRHyg/видео.html

    • @PaulaBean
      @PaulaBean 2 года назад +3

      I use git exclusively from the commandline.

    • @Psamcyite
      @Psamcyite Год назад

      @@devonduty please I would like to try lazygit also

  • @javascripttalks
    @javascripttalks 3 года назад +61

    The reason I am using vscode is that I have to switch between windows and linux multiple time a day and vscode works perfectly in both the OS without any configuration. Some of the vim plugins doesn't work properly in windows. But after watching this video I really want to configure vim again. Thanks for making this video. It is really helpful

    • @devonduty
      @devonduty  3 года назад +1

      Hi Javascript Talks, glad this could inspire you to give Neovim another go!

    • @asdf14051
      @asdf14051 2 года назад +13

      ew windows!? peasant. i use arch btw ;)

    • @NucEn
      @NucEn 2 года назад +4

      If you have windows-specific troubles you can just use vim in wsl ;)
      Even installing arch is as simple as a few mouse clicks, really recommend it
      Also you'll have a much more pleasant overall terminal experience (you CAN get some good plugins in windows using ohmyposh, but then you'll get annoyed with ~3 seconds of boot time)

    • @Christobanistan
      @Christobanistan 2 года назад

      @@NucEn Then you lose all the memory efficiency.

    • @NucEn
      @NucEn 2 года назад +1

      @@Christobanistan so what? OP will be using vim instead of vscode in that case, so they anyway will see a dramatic performance increase, and also everything you'll do in vim on almost any computer from the last decade will be beyond human perception threshold anyway

  • @msaraiva
    @msaraiva 2 года назад +14

    The problems you mentioned with the UI are a non-issue if you have a monitor with a decent resolution. Nothing beats having all the information clearly in your view (file, project manager, debugger, tools, etc.)

    • @devonduty
      @devonduty  2 года назад +4

      I disagree, I have a huge curved monitor and I don't want to waste space. Instead of having many unnecessary toolbars, I want more splits of actual content.

    • @msaraiva
      @msaraiva 2 года назад +1

      @@devonduty that's my setup (Samsung Ultrawide, 49" 32:9), and the IDE (PyCharm, in my case) works perfectly centralized. Using Powertoys I can split the monitor in 5. There's no wasted space.

    • @RAGEEcs
      @RAGEEcs 9 месяцев назад +3

      @@devondutythen you can hide everything.. thats response just sounds like people wanna look cool by typing shit instead of using a mouse 😂 like the emos of the programming world

  • @amineneggazi8455
    @amineneggazi8455 3 года назад +63

    You really deserve so much more subscribers! very minimal and simple approach, I hope you succeed with this channel

    • @devonduty
      @devonduty  3 года назад +5

      Hi Mohamed, it's very humbling to me that you took time of your time to write to me, I appreciate it a lot, thank you!

    • @BorisBrodski
      @BorisBrodski 2 года назад +5

      Here is a Hi from a new subscriber 👋

  • @tuhla4ka
    @tuhla4ka 2 года назад +7

    That's nice...
    I started following your tutorials (they are really good), but at the end I've realised that I'm actually trying to replicate my sublime text setup in a more complicated way.

    • @devonduty
      @devonduty  2 года назад +1

      Thanks! It takes some initial effort to set up everything, but for me it's worth it. It depends how often you use your editor and how much you're willing to invest.

  • @DrakiniteOfficial
    @DrakiniteOfficial Год назад +3

    I appreciate that you started the video with details about VS code's strengths, because I feel like it warmed me (and probably other current VS code users) up to what you were about to say about Neovim. If you just claimed VS code was trash, then I'd be like "wtf dude you must be missing something".

    • @devonduty
      @devonduty  Год назад +1

      Thanks! No, VSCode is great and deserves the user base it has. Yet, I prefer Neovim.

  • @SandwichMitGurke
    @SandwichMitGurke 3 года назад +5

    i'm convinced now :D i've been using the vim extension for vscode for almost a year now and i often get annoyed when i have to use my mouse ..

  • @Khigha87
    @Khigha87 2 года назад +1

    This is such a great, no nonsense tech channel! Thank you for the videos bro! Liked and subscribed!

  • @danielcardona5268
    @danielcardona5268 3 года назад +17

    I've been trying to migrate currently using a tweaked nvchad configuration for neovim. I love how LSP is now part of neovim 0.5 but still struggling to configure nvchad for all my use cases. I'm doing flutter development and haven't been able to replicate a smooth workflow like I have in VSCode. I wish DAP gets more attention from the neovim core team.

    • @devonduty
      @devonduty  3 года назад +3

      Hi Daniel, indeed! It would be great if DAP could also be integrated into core Neovim. Let's see what the future brings.

    • @wulymammoth
      @wulymammoth 2 года назад

      question: did you switch to nvchat from already having used vim/neovim prior? what are some use cases that nvchad hasn't work for in particular?

    • @kurushimee
      @kurushimee 2 года назад +1

      Same! I'm a long-time VSCode user, lately some JetBrains IDE's too, but I decided to come back to Neovim as I've realised that I indeed don't need the fancy IDE features but I would benefit from writing the code at the speed of thought without interruptions in Neovim

  • @hagen-p
    @hagen-p 2 года назад +6

    Nice! Thanks for the insight. With language and debug server, this looks very efficient.
    (At university I used vi and vim and got relatively fluent with it, but always needed to manually call lint for code checking. And git did not exist back then. 🙂)

    • @devonduty
      @devonduty  2 года назад +2

      Thanks, Hagen! I also learned Vim at university and was very disappointed when getting into my first job where I had to use a clumsy IDE (Eclipse at that time). I'm glad I can use Vim again and not waste thousands of hours in muscle memory.

    • @vnm_8945
      @vnm_8945 2 года назад

      @@devonduty why u had to use Eclipse? they wouldn't let u use neovim?

  • @PetrSUsername
    @PetrSUsername Год назад +1

    Good comparison. It would help to also measure the ram usage of the two if you claim usage is hugely different. At least after startup with same directory. While I believe you it just helps to make your point and also to see by how much.

    • @devonduty
      @devonduty  Год назад +1

      Thank you, @PetrSzturc. Yes, I should've shown the numbers, I actually measured it, the difference was indeed huge.

  • @DenisovichDev
    @DenisovichDev 2 года назад +1

    That was a really great video. I'm a vim user and even I wasn't sure why I prefer it over VSCode now

  • @Little-bird-told-me
    @Little-bird-told-me Год назад +1

    thanks for making this video. I have been looking for an alternative to sublime code with all its minimalist features and i think vim it is.

    • @devonduty
      @devonduty  Год назад

      Awesome, great to have you on board!

  • @Aspiiire
    @Aspiiire 3 года назад +6

    After using Vim inside vscode for a while thanks to your video I have moved to NeoVim! What's the plugin that you use for debug?

    • @devonduty
      @devonduty  3 года назад +5

      Glad to hear Aspiiire! The plugin is called nvim-dap, I made two videos about it:
      ruclips.net/video/ga3Cas7vNCk/видео.html
      ruclips.net/video/SIYt1dopfTc/видео.html

    • @Aspiiire
      @Aspiiire 3 года назад

      @@devonduty Thanks for your reply going to check them :D

  • @songpandy9590
    @songpandy9590 Год назад +2

    The main reason why I prefer a terminal based editor vs VS Code, is because I need/like to remotely work on a server vis ssh. All the coding/testing could be done on server. With tmux, the editor or environment could be reserved for the next day.

    • @nowherenone
      @nowherenone Год назад

      But this is exactly one of the best features of VSCode - working over SSH on the remote machine, how could you miss it?

  • @maddancing
    @maddancing 3 года назад +13

    Hi thanks for the video. So I'm currently using vscodium, which I know isn't much better but it's kinda hard to make the jump. I got into the habit of using nvim as my go to editor for dotfiles and smaller tasks but I want to go the full way and ditch all my ides for nvim I just wish there were more in-depth videos on how to set it up

    • @devonduty
      @devonduty  3 года назад +5

      Hi Alina, I've also created a playlist on how to set it up: ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

  • @TheGRoques
    @TheGRoques Год назад +1

    Great comparison between VS Code & Neovim!
    How did you configure your statusline? I like how minimal it is.

    • @devonduty
      @devonduty  Год назад +1

      I think it's called "Lualine", unfortunately I don't have the config anymore.

  • @offchan
    @offchan 2 года назад +1

    I used to naively think that keyboard shortcuts for everything is the best way to navigate text editors but I was wrong. You will have to memorize all the shortcuts and if you stop using text editors for a while then you will forget it. Sometimes you need the interface to visually remind you about what things are possible to do. Mouse is good for that.

    • @devonduty
      @devonduty  2 года назад +1

      Indeed, mouse is better if you're just casually using an application. Keyboard navigation needs practice.

    • @Cenot4ph
      @Cenot4ph 2 года назад

      @@devonduty casually, haha. No.. I dont use programming casually. You seem to forget that people have different workflows and don't want to solely rely on keyboard strokes.
      Secondly, programming is not about typing stuff. All this optimization around typing is really irrelevant.

    • @zackattack9228
      @zackattack9228 2 года назад +2

      @@Cenot4ph> programming is not about typing
      Bro😭😭

    • @Cenot4ph
      @Cenot4ph 2 года назад +1

      @@zackattack9228 someday you'll learn

  • @DanCojocaru2000
    @DanCojocaru2000 2 года назад +3

    The one thing I dislike about Vim/Neovim is because it’s too keyboard focused. For some stuff, I much prefer a right click menu as opposed to the remembering the keyboard shortcut for quick actions and refactoring.

    • @o1-preview
      @o1-preview 9 месяцев назад

      same here, it solves a problem that didn't exist in the first place in my opinion.

  • @qazizarifulislam6568
    @qazizarifulislam6568 9 месяцев назад

    Thank you for the concise reasons pointed out in the Video. My usecase is different. I use python notebooks, TEX files along with python files so that is probably the root cause of my disagreement. I respect your personal preference for neovim however to me personally, all the points seem a non-issue for myself. I prefer VS code BECAUSE
    1. I prefer looking at the directory from time to time
    2. VS code has nice jupyter-like cells
    3. Sometimes there are helpful plugins such as csv viewers and LaTEX engine. Another one is one that enables todolists from comments
    4. Using the mouse for a second isn't too time-expensive for my field of work.

  • @safatkhan676
    @safatkhan676 Месяц назад

    Generally speaking, when I am using VSCode, I am also using the integrated terminal. I simply do my git commands there without needing to go click this on right and that on left and this button or that button. So it is not that you have to use the slower means. It is just that if you prefer to use buttons and all, you can do it. Which ironically makes VSCode into NeoVim with extra features lol.

  • @DiscipleW
    @DiscipleW 2 года назад +1

    cntrl + shift + ~ + 'git status' -> new terminal in case the current one is used from a cli tool or else
    cntrl + shit + p > Toggle Activity bar clears that
    The customization of nvim and it's snappiness insane tho

  • @marcuswest4572
    @marcuswest4572 Год назад +1

    Am personally running SpaceVim. I've never used VSCode so I am agnostic. Would be curious on your thoughts on astro/lunar/space

    • @devonduty
      @devonduty  Год назад +1

      I've never used such sophisticated vim distributions, so I can only speculate. In my opinion, the hardest part is memorising the keybindings etc and I can imagine that one could feel a bit overwhelmed with all those installed plugins. I think it's easier to configure them manually one by one.

    • @marcuswest4572
      @marcuswest4572 Год назад +1

      @@devonduty SpaceVim plays nice, I really like it . Took my a couple of hours to figure it out, lol. Very nice looking interface which for some reason appeals to me, not to mention the other ergonomics. As a non programmer, (just started learning) I have no ideza if it is the right choice. But as they say: If it ain't broke , don't fix it

  • @thatguynar
    @thatguynar Год назад +2

    I'm also currently trying to move away from vscode but ended up using Helix, I just find the actions on helix to make more sense and it works out of the box so it's pretty much beginner-friendly. But I've also been eyeing LunarVim lately since it seems to be a batteries included text editor as well.

  • @cristianinujazznight3044
    @cristianinujazznight3044 3 года назад +3

    Hi. I am currently trying to change from vscode to Emacs or vim. The thing in vim against vscode or emacs, is:
    * I did not found a project manager.
    * I did not see a good integration with ale or semantic as Flycheck: When your cursor is over the code line where is a warning/error, the window/frame where is listing all the warnings or errors, does not point or what error is.
    * The thing that I love in vim, is that points and mark where are your warnings and errors.

    • @devonduty
      @devonduty  3 года назад +3

      Hi Christian, there is also github.com/ahmedkhalf/project.nvim but I must admit that I prefer to just cd into my directory (using github.com/rupa/z). Regarding a linter, there is github.com/mfussenegger/nvim-lint but I haven't tried it yet.

    • @cristianinujazznight3044
      @cristianinujazznight3044 3 года назад +1

      @@devonduty Thank you, I will try nvim, currently I am using vim.

  • @toup0
    @toup0 2 года назад +3

    Nice video, but some problems you mention don't need to be a problem in Code / Codium 🌳. You can manage your git as easy as in neovim via the terminal in code. Distraction free working is possible in Zen mode

    • @devonduty
      @devonduty  2 года назад

      Thanks! Yes, that is possible. But regarding git Integration, I really do like the keyboard controlled interface through fugitive/neogit, doing it via the terminal alone is a bit clumsy sometimes.

    • @ShadoFXPerino
      @ShadoFXPerino 2 года назад +1

      @@devonduty For VSCode you can press F1, type "Git: Stage All Changes" and use that, then later set a new keybind to any of those commands if you really do need the ability to push your changes in a few keystrokes.

    • @devonduty
      @devonduty  2 года назад

      True, but to selectively add some changes, it's not so easy anymore.

    • @ShadoFXPerino
      @ShadoFXPerino 2 года назад +1

      @@devonduty That would be "Git: Stage Selected Ranges" with the relevant lines selected, or "Git: Stage Change" for the file.

    • @ShadoFXPerino
      @ShadoFXPerino 2 года назад

      @@devonduty BTW how do you stage a selected range in neovim? You have to fire up :GDiff and then :diffput right?

  • @raiguard
    @raiguard 3 года назад +1

    I switched from vscode to vim, then from vim to kakoune. No matter which modal editor you use, the benefits are enormous. I will never go back to GUI editors.

    • @devonduty
      @devonduty  3 года назад

      Yeah, Kakoune is also something I'd like to try out.

  • @crawbug8932
    @crawbug8932 2 года назад +1

    4:16 you can remove the side bar via "remove activity bar"

  • @NabekenProG87
    @NabekenProG87 2 года назад +3

    Every time I see these videos I feel a certain disconnect on the reasons why neovim is better. Sure, it's minimal, resource efficient and faster, but I have a enough RAM and CPU to run multiple Electron Apps. My main gripe is that my dumb brain needs graphical previews of certain files like Markdown and I love a graphical git graph. It's perfect for my goblin brain

  • @lingaoxiao9808
    @lingaoxiao9808 3 года назад +1

    Great video! Do u consider give a video taking about LSP and how to setup for popular language in neovim 5.0

    • @devonduty
      @devonduty  3 года назад +1

      Thanks! I already did a video series on how to setup Neovim (including the LSP part): ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

  • @yovelinpanayotov7973
    @yovelinpanayotov7973 2 года назад +1

    VSC: CTRL + J, git add . git commit -m """""
    Clutter: CTRL + SHIF + P: toggle (Activity Bar visibility, Menu bar, mini map etc)
    F11 ZEN Mode
    CTRL + W to close the window

    • @devonduty
      @devonduty  2 года назад

      Regarding Git: That's just using the terminal, there should be a better git integration. Regarding clutter: You'll still have visual clutter, e.g. when opening a terminal.
      Regarding Zen: Yes, that works well until you need to access hidden elements, you manually need to enable/disable it.

    • @yovelinpanayotov7973
      @yovelinpanayotov7973 2 года назад

      Hi @@devonduty
      For git keyboard only can be done with CTRL + Shift + G + G (Defaults Denpends on the OS )
      Staging changes and other shortcut can be adjusted via CTRL + K + S (Shortcut cheat sheet)
      Yes, using terminal as a separate thing creates a Visual clutter while it is open.
      I have tried neovim for several weeks and I mainly love it (before lua).
      However, since the keybindgins were not in my muscle memory I tend to do a lot of mistakes and going back to revert the changes was buggy for me, so I have tested emacs with evil mode but C# LSP was a nightmare and so back to vsc.
      I have not tested resolving merge conflicts in vim tho, how is it?
      Note:
      The point of my comment is not to prove your wrong rather is for those like me that had similar experience and still want to rock the keyboard only style :D

    • @devonduty
      @devonduty  2 года назад

      @@yovelinpanayotov7973 No worries, glad you gave that comment! Inside Neovim I use lazy-git, that allows me to easily manage all git-related tasks, also resolving merge conflicts. See also ruclips.net/video/hwC4JduRHyg/видео.html

  • @warever9999
    @warever9999 2 года назад +1

    Thanks! It would be great to see what setup you are using for Debug

    • @devonduty
      @devonduty  2 года назад

      Hi, you can see my setup here: github.com/David-Kunz/vim

  • @NOCTRN_
    @NOCTRN_ 2 года назад +1

    Would you consider doing a video showing how you configured your nvim like it is in this video?

    • @devonduty
      @devonduty  2 года назад

      Actually, I created a whole playlist for that: ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

  • @jostein6581
    @jostein6581 2 года назад +2

    Good points

  • @armynyus9123
    @armynyus9123 2 года назад +1

    Great Vid.
    Also: Display real estate mgmt. Nothing beats a good tiling window mgr regarding that. Only with vim you can fully profit from that, having multiple instances of it open in different windows, managed by the WM, e.g. for source code, documentation, tests and have them arranged optimally all the time.

    • @devonduty
      @devonduty  2 года назад

      Thanks! Absolutely, tiling window managers are great!

  • @someoneelse8103
    @someoneelse8103 Год назад +2

    Spend 3+ months to learn how to use and configure vim in order to save milliseconds during work? Mmm, nah, didn't convince me.
    My coworker tried to convince me as well and he was using basically the same arguments. He had something falling down in his config file, something like file search stopped working and then fixes it the entire evening.
    I tried learning these vim shortcuts but that's quite painful and time consuming. I didn't find those advantages to be a game changer for me, even thou I admit that it's inconvenient to switch to mouse from time to time.
    Like the architect in my team was saying "You saved 100 milliseconds doing this operation, and then you just look at the code for 15 minutes while just thinking. In the end it's not worth the effort".
    The most successful programmers from my team/university/friend-list don't care about such stuff at all, some of them where shocked when I showed them some simple keyboard combination that they didn't know for tiling windows that I knew in school before even having my own PC.
    People just focus on programming and not such side stuff like configuring linux, making your own code editor etc.

    • @o1-preview
      @o1-preview 9 месяцев назад

      agreed! this whole neovim/vim hype never convinced me.

    • @Infamous159
      @Infamous159 7 месяцев назад

      To each their own brother. I'm slower in VSCode. I fly light speed in nvim. My coworkers tell me to slow down because they have no idea what I'm doing. I say sorry, I use nvim lol. But seriously, to each their own.
      I've challenged my coworkers during hackathons. Who can write a recursive binary search faster and commit it to Git (if you think that's hard, you have skill issues. It's the easiest way to do it) and I won by minutes. This shouldn't take more than 5 minutes tops.
      IF you're super comfortable with nvim and have it set to your liking, there is no better feeling when you're coding than to be coding at the speed of thought.

    • @someoneelse8103
      @someoneelse8103 7 месяцев назад +2

      @@Infamous159 nevermind, a year later and I am nvim user xD. Can't code without vim motions for sure

    • @pratikpuri7079
      @pratikpuri7079 6 месяцев назад

      @@someoneelse8103 bruh

  • @tridibbiswas3361
    @tridibbiswas3361 2 года назад +1

    Thank you for the video. A noob question- what is the colorscheme and font you are using?

    • @devonduty
      @devonduty  2 года назад +2

      Hi, the colorscheme is github.com/Mofiqul/vscode.nvim and the font is github.com/be5invis/Iosevka

  • @alexzander__6334
    @alexzander__6334 3 года назад +3

    2:01 actually not, vim is single threaded(meaning that vim uses only 1 thread to run everything with maybe some async functions ) while vs code is multi threaded (uses all your cores and threads of your cpu) , sometimes vim freezez on very large files or files with very long lines

    • @devonduty
      @devonduty  3 года назад +2

      VSCode has noticable delays including loss of keystrokes, Neovim doesn't, that's the main argument of my video.

    • @alexzander__6334
      @alexzander__6334 3 года назад

      @@devonduty im not saying that vs code is better, never, the only bad fact about neovim is the single thread architecture

    • @alexzander__6334
      @alexzander__6334 3 года назад

      the rest facts are that neovim is superior in every other way

    • @devonduty
      @devonduty  3 года назад +1

      Yes, there's always room for improvement! But I rarely notice any performance hickup in Neovim, usually everything is instantaneous.

    • @heroe1486
      @heroe1486 3 года назад +1

      The opposite is often noticed tho, Vscode becomes laggy on large projects with tons of files while vim still handle them

  • @Titousensei
    @Titousensei 2 года назад +3

    I tried to switch to Vim in the past, but I always get lost in the setup. As you said there's "a little bit of work up-front", but I find it overwhelming. Could you perhaps explain how to do your setup and have some of those functionalities working?

    • @devonduty
      @devonduty  2 года назад +1

      Hi Titousenei, I've created a RUclips playlist on how to configure/use Neovim: ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

  • @IgnacioChavez
    @IgnacioChavez 2 года назад +13

    with vscode you have to use the mouse too much and look for things in a cluttered UI, that alone is reason enough for me to not use it. With neovim you can apply the set of commands to everything, scrolling through files, jumping from panes, finding words or files, etc

    • @Hanstruds
      @Hanstruds 2 года назад +6

      I'm not sure it's fair to compare a stock VS Code experience to a fully configured customized Vim setup. The complaints you mention for VS Code can be fixed with very simple configuration changes. There are great reasons to prefer Vim over VS Code, but these are not it.

    • @Cenot4ph
      @Cenot4ph 2 года назад +3

      it's really quite irrelevant, the time taken in coding is not typing it's everything else around it.

    • @SillySussySally
      @SillySussySally Год назад +1

      @@Cenot4ph finally, someone said it

  • @cbbcbb6803
    @cbbcbb6803 2 года назад +1

    The insert mode should be the default (normal) mode. I should at least be able to specify what "normal" mode is for me.

    • @Infamous159
      @Infamous159 7 месяцев назад

      Trust me, you don't want insert as the "normal" mode lol. The FIRST thing you're going to do in nvim is start navigating and vim commands, not typing code. Most of the time, you're not even using insert, you're using append. "a", not "i"

  • @alperdedeoglu1128
    @alperdedeoglu1128 3 года назад +2

    Hi David,
    Excellent video.
    I have a question for you. I am using SAP CAP Framework to develop backend applications and I can not attach vimspector to the command "cds run" like I did in VSCODE.
    How do you debug if you need to attach debugger to a command? Or how do you start your CAP applications with debugger?

    • @devonduty
      @devonduty  3 года назад

      Hi Alper, glad to see a CAP user here :)
      You can just run `node --inspect ./node_modules/.bin/cds run` and then attach a debugger. Best regards, David

  • @Alexis-hj6ci
    @Alexis-hj6ci 2 года назад

    So many people talk about change to NeoVim, but I had a very customize config with Emacs. I love its GUI features, for example the display of images, perfects for use Jupiter without depends of navigator, Org mode with different size and family for the titles, etc. So, I not interested for change to Vim today.

    • @devonduty
      @devonduty  2 года назад +1

      Emacs is also fine!

  • @Hanstruds
    @Hanstruds 2 года назад

    I get what you're saying, but you can configure VS Code to be mouse-free as well. Zen-mode removes most of the visual clutter and configuring keybindings and extensions also is a lot more straightforward than Vim.
    The biggest drawback with VS Code is the heavy memory footprint and it's not as fast as Vim. But in many situations for most people, that doesn't really matter all that much. You are definitely also more limited in which ways you can customize it.
    The biggest plus with VS Code for me I can think of is remote connections and development containers. I'm sure you can set up similar things with Vim, but it just works great out of the box with VS Code.

    • @devonduty
      @devonduty  2 года назад

      I partly agree, but still: VSCode is not meant to be fully keyboard driven and it shows in too many places. Let alone in the plugins you install.

  • @gassosaman1794
    @gassosaman1794 Год назад

    You don't need to use your mouse to add/stage and commit your files. Just open the terminal and type.

  • @heroe1486
    @heroe1486 3 года назад +1

    Thanks for the video, I agree with you. But I don't know if you have an incompatible theme or an incompatible Terminal emulator but with something like Kitty + compatible theme you could get nicely colorized undercurls exactly like in vscode rather than uncolorized underlines.

    • @devonduty
      @devonduty  3 года назад

      Thanks Heroe! Yeah, I'm still looking for a nice theme!

  • @sufurt782
    @sufurt782 2 года назад +4

    How do you handle big refactoring operations? For example, separating a larger module into a few smaller ones.
    I find whenever you have to do large scale refactors a gui is super helpful

    • @devonduty
      @devonduty  2 года назад +1

      That's relatively easy to do with nvim-tree.lua and LSP code actions.

  • @thedjangoway9052
    @thedjangoway9052 2 года назад +1

    I agree nvim is really good but I change to vscode/pycharm for python projects. It is more better there,. I just add nvim extension in vscode

  • @sazzadanwar4802
    @sazzadanwar4802 2 года назад +1

    I liked your neovim config.. Can you please share the config folder for neovim?

    • @devonduty
      @devonduty  2 года назад +1

      Thank you, I have a whole playlist about it: ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW
      My current config is here: github.com/David-Kunz/vim/blob/master/init.lua

    • @sazzadanwar4802
      @sazzadanwar4802 2 года назад +1

      @@devonduty Thank a lot..

  • @alphabetsalphabets5242
    @alphabetsalphabets5242 2 года назад +2

    And they say neovim isn't effective for larger projects. That simply isn't true.

    • @devonduty
      @devonduty  2 года назад +1

      Yes, Neovim is very effective for larger programs!

  • @blasttrash
    @blasttrash 2 года назад +3

    neovim UI looks bad though. When you showed that "x is declared but not used" or when you debugged the variable value(that rectangle box that appeared), they all look very bad compared to vscode UI for example.

    • @devonduty
      @devonduty  2 года назад

      I mean it's a terminal application, there are no fancy UI elements, it's just text. I admit, some things could have been nicer (better color scheme) but it does its job.

    • @Cenot4ph
      @Cenot4ph 2 года назад +3

      the fact you do not see the stack at runtime is a dealbreaker. I need to be able to navigate the memory structures in real-time, you cant do that with vim as easily as with vscode debugger.
      There's also no conditional breakpoint system.
      Hence again, vim is optimizing for a problem that doesn't exist and it creates new ones. To create good code it's not about how fast you type, it's about the information I have available to me that allows me to analyze the situation and create the solutions required.

    • @o1-preview
      @o1-preview 9 месяцев назад

      @@Cenot4ph100% the way I feel, it tries to fix problems that don't exist. The quality of the code I get to write on any IDE vs vim based is enormous.

  • @LukePighetti
    @LukePighetti 2 года назад +17

    One problem I have with vim is I feel like I have to keep a mental map of the entire project in my head, none of the plugin systems keep a unified context between the editors, git status, and the file explorer. In my opinion the vim/ide split is not one of objective superiority, just learning styles.

    • @LukePighetti
      @LukePighetti 2 года назад

      @@sabitrap That's not the same thing. That's for fuzzy finding stuff. It's not for keeping track of project context.

    • @sabitrap
      @sabitrap 2 года назад +1

      @@LukePighetti To track project context we have github right? Along with actions? Any other suggestions from your end?

    • @LukePighetti
      @LukePighetti 2 года назад +1

      @@sabitrap That's not what I'm talking about at all

    • @aquepaique
      @aquepaique 2 года назад +6

      try nvim-tree

    • @watynecc3309
      @watynecc3309 Год назад

      good news you got tab in vim

  • @TJ-hs1qm
    @TJ-hs1qm 2 года назад

    I have been trying to use vim for my daily work for years now but I never managed to configure everything to my liking. It usually starts by me having to carve out some time on the weekend and by Monday I still haven't configured and tweaked everything . For learning Clojure I'm using Spacemacs right now but I keep Imtellij as my daily driver for professional programming.

  • @mahipalsingh9361
    @mahipalsingh9361 2 года назад +4

    A VsCode user will say the pop ups are not distracting but once you switch to neovim you can tell the difference immediately

  • @almuslax
    @almuslax 2 года назад +1

    Hope you have kind of step by step videos.

    • @devonduty
      @devonduty  2 года назад

      Hi Arif, indeed, you can have a look at my playlist: ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

  • @vov4egde
    @vov4egde 2 года назад +1

    Font in your neovim? Looks like some variation of Iosevka

  • @darthmoomoo
    @darthmoomoo 3 года назад +5

    I do not use a mouse. I find my macbook's trackpad to be significantly faster and precise. I have tried nvim. But I have too much muscle memory in vscode that when I go to nvim, I feel severely hamstrung and unproductive.

    • @devonduty
      @devonduty  3 года назад +2

      Hi DarthMooMoo, yes, learning to use Neovim definitely takes a while. But it's very rewarding.

    • @mss664
      @mss664 3 года назад +13

      Using a trackpad is hardly "not using mouse".

    • @jamtart22
      @jamtart22 3 года назад +1

      @@mss664 it literally is though

    • @mss664
      @mss664 3 года назад +4

      ​@@jamtart22 Semantics. In this context when we say that we don't use mouse we mean that we don't use the mouse cursor to interact with text editor (or the computer). Meaning no trackpad, no trackball, no tablet. Just keyboard.

    • @heroe1486
      @heroe1486 3 года назад

      Using a trackpad and a mouse is the same thing, both are inefficient in comparison to a keyboard driven experience

  • @almuslax
    @almuslax 2 года назад +1

    Subscribed.

  • @chandragie
    @chandragie 2 года назад +1

    I've been struggling in moving to NeoVim alone to replace VSCode.
    I hope you can share with us the config file to have those things.

    • @elorrambasdo5233
      @elorrambasdo5233 2 года назад

      Check out the other videos on this channel, he has a whole playlist to help you do this.

  • @aeuonep
    @aeuonep 3 года назад +1

    Can you please tell me which vim plugin you use for git?

    • @devonduty
      @devonduty  2 года назад +1

      Hi, I use vim-fugitive by Tim Pope.

  • @rishavghosh1289
    @rishavghosh1289 Год назад

    What's the font being used in Neovim?

  • @hamburger-fries
    @hamburger-fries 3 года назад +1

    I like code completion options for languages where I do not recall the exact syntax. For example I am building a react / rust gui for node/nginx/pm2/firewall and the react and rust plugins for vocode are useful. I do love neovim but speed wise I don’t type more than 50wpm.

    • @devonduty
      @devonduty  3 года назад +2

      In Neovim you will have the same language features (go to definition, ...) as in VSCode because the underlying technology is the same (LSP).

    • @hamburger-fries
      @hamburger-fries 3 года назад +1

      @@devonduty wow thanks! I will look deeper into this! I much prefer neovim.

    • @ThePC007
      @ThePC007 2 года назад

      @@devonduty Do you know if the “view references” feature also exists in neovim?

  • @wenxiulong4209
    @wenxiulong4209 2 года назад

    The video example of using neovim, you use in terminal or GUI?

    • @devonduty
      @devonduty  2 года назад

      I use Neovim in the terminal.

  • @evanjrowley
    @evanjrowley 3 года назад +3

    What font are you using in Neovim? It looks good.

    • @devonduty
      @devonduty  3 года назад +2

      It's Iosevka: github.com/be5invis/Iosevka

    • @evanjrowley
      @evanjrowley 3 года назад +2

      @@devonduty awesome! I like that it has a permissive license too

  • @tuck582
    @tuck582 2 года назад

    You can commit in vscode with "ctrl + ~" then git commands

  • @heygema
    @heygema 2 года назад

    Hello, what font are you using?

  • @mertgenc9890
    @mertgenc9890 2 года назад +1

    Could you share your dot files? I want to see your neovim configuration.

    • @devonduty
      @devonduty  2 года назад +1

      Hi Mert, sure thing: github.com/David-Kunz/vim

    • @mertgenc9890
      @mertgenc9890 2 года назад +1

      @@devonduty Thanks brother

  • @Linuxdirk
    @Linuxdirk Год назад

    I never made LSP with autocompletion operational in nvim ... Nevertheless it's an awesome everyday editor for everything.

  • @LukePighetti
    @LukePighetti 2 года назад

    4:47 this can be turned off in settings, and it's a huuuuuge stretch to claim that these 'features' mean the entire product is not for power users.

    • @devonduty
      @devonduty  2 года назад

      Yes, I also mentioned in the video that it can be turned off. But the fact that this is enabled by default shows that the VSCode team optimizes for casual developers.

    • @Cenot4ph
      @Cenot4ph 2 года назад

      @@devonduty man just stop it with the nonsense, if you have no proper arguments just don't say anything

  • @TheKisem
    @TheKisem 2 года назад

    So basically a pro vim user prefers vim over an other editor that he doesn't know well enough. Who would've thought? :D
    (You don't need to use mouse at all if you don't want to. There's Zen mode which is basically GUI free. You just assume that vscode works the same way as vim, because you already invested a lot of time to learn it, and know it's hard to adapt to anything that is different.) I use vim on servers a lot, and I agree that vscode is slow as hell, but I still prefer vsc because in programming typing speed doesn't really matter, and my workstation is powerful enough to do every vscode command in an instant. Only difference is startup time, which affects me only once a week.

    • @devonduty
      @devonduty  2 года назад +1

      Not true, I used VSCode for more than a year. I know that many things can be accomplished without a mouse, but most plugins need the mouse. I know about Zen mode, but that feels more like a hack than a proper clutter free UI.

    • @FADHsquared
      @FADHsquared 2 года назад +1

      Eh, no. I started using Neovim last year, took me only a couple of weeks to get acquainted with vim keybindings. Pretty much every other editor is unusable for me without a Vim plugin after that.

  • @justanaveragebalkan
    @justanaveragebalkan Год назад +2

    If you want to use vscode without a mouse ctrl + K Z and go for it, really the only thing that is objectively true is that it does take 1 more second to start on old pcs. Everything else, wish wash for content and time wasters in reality.

    • @devonduty
      @devonduty  Год назад

      Until you want to use plugins, many of them require a mouse. Or you want to use git integration in VSCode, without a mouse it's really a pain. Using git via the command line is not a good option.

    • @justanaveragebalkan
      @justanaveragebalkan Год назад +1

      @@devonduty I'd object, using git from the terminal better then any tool, git primary is a terminal based program you just need to learn the commands,
      Is it true that you can't use keybinds to open differences and do stuff like rebase without creating custom keybinds in vs code for it, but this is also true for vim, emacs and other editors as well. So i really don't get why it's an issue overall.

    • @devonduty
      @devonduty  Год назад

      @@justanaveragebalkan I'd say in (Neo)vim it is possible to use all those features with the keyboard, all plugins are meant to be used like that. Regarding git: In my experience, using the command line is slower than other tools (e.g. Lazygit).

  • @camoman1000
    @camoman1000 3 года назад +1

    Can you please share how you got the language server and debug protocol working with him?

    • @devonduty
      @devonduty  3 года назад +2

      Hi Jonathon, sure! I created whole playlist in vim configuration. ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

    • @camoman1000
      @camoman1000 3 года назад +1

      @@devonduty awesome, thanks!

  • @JuniorMenezes7
    @JuniorMenezes7 3 года назад

    Which font are you using on VSCode?

    • @devonduty
      @devonduty  3 года назад

      Hi Cleo, I think it's
      "editor.fontFamily": "CascadiaCode",
      "editor.fontLigatures": true,

  • @atrowell
    @atrowell Год назад

    Lead with praise for the other guy, that is how to persuade.

  • @ajfalo-fi3721
    @ajfalo-fi3721 2 года назад +1

    is vim a better option for me if my computer ain't that good?

    • @devonduty
      @devonduty  2 года назад

      (Neo)vim definitely needs less resources than VSCode. But to be honest, your Computer must be pretty old if VSCode doesn't run properly.

    • @ajfalo-fi3721
      @ajfalo-fi3721 2 года назад +1

      @@devonduty yes it is haha I've got an Intel Celeron, 6 GB of ram and a 256 GB SSD

    • @devonduty
      @devonduty  2 года назад +2

      @@ajfalo-fi3721 then better switch to Neovim ;)

  • @manee427
    @manee427 10 месяцев назад

    How did you jump back from definition of function ?

    • @devonduty
      @devonduty  10 месяцев назад +1

      With you can jump back.

    • @manee427
      @manee427 10 месяцев назад +1

      Thanks a lot@@devonduty

  • @Fanaro
    @Fanaro 2 года назад

    3:30 Not true. Just open an integrated terminal with a shortcut and do it without a mouse.

    • @devonduty
      @devonduty  2 года назад

      But then you're just in a terminal and have to type every command manually.

  • @PhilippeBaret
    @PhilippeBaret 3 года назад +1

    What about the learning curve? and the coming AI on VS code?

    • @devonduty
      @devonduty  3 года назад +4

      The learning curve is a lot steeper for Vim, it's more difficult to learn and more to learn. If you mean CoPilot, it's also available for Neovim.

    • @adheesh2secondsago630
      @adheesh2secondsago630 2 года назад

      @@devonduty He probably meant intellisence, which is useless for me, never used since beginning of my journey.

  • @piltonswrangbrahma5140
    @piltonswrangbrahma5140 2 года назад

    What is the name of font you are using ?

  • @raypenha2572
    @raypenha2572 3 года назад

    I just installed the latest version of nvim with nvchad but i haven't configured anything yet Do you think I can follow this turorial?

    • @devonduty
      @devonduty  3 года назад

      I recommend starting with a clean state of nvim and then successively adding more and more plugins, otherwise it might be overwhelming.

  • @TomerBenDavid
    @TomerBenDavid 2 года назад

    Can you show call hierarchy?

  • @decipher3114
    @decipher3114 Год назад

    If it took 2 secs more to open VS Code and it is gonna remain open for the next 5-6 hours, how does that 2 secs even matter. Why do I close VS code every 5th second. Do speed matters in programming?? No. you still have to think and the only limitation is your thinking and typing speed.

    • @devonduty
      @devonduty  Год назад +1

      It's more about comfort than speed. Imagine using a mobile phone to type. Would that be fast enough? Sure, because thinking is the main limitation. Would it be comfortable? No.

  • @onomatopeia891
    @onomatopeia891 2 года назад

    Can you compare two files side by side in nvim?

    • @devonduty
      @devonduty  2 года назад

      Yes, that is possible. Create a split and run :diffthis on both

  • @ABHISHEKSINGH-nv1se
    @ABHISHEKSINGH-nv1se 2 года назад +1

    Does neovim has gui version.

    • @devonduty
      @devonduty  2 года назад

      Yes, there are several frontends available, e.g. Neovide: github.com/neovide/neovide

  • @rencesalaveria2301
    @rencesalaveria2301 2 года назад

    can i ask what the font used in vim?

  • @BigCreep
    @BigCreep 2 года назад

    when you say it requires a bit of work - how much work are we talking? VS Code has so much out of the box

    • @devonduty
      @devonduty  2 года назад +1

      I would say you need a few months to replace VSCode with Neovim and be comfortable with it. But it's hard to tell because it's a gradual process and it never ends.

  • @chibanghoang5876
    @chibanghoang5876 2 года назад +1

    two parts of neovim is hard to setup for me is lsp and debugger, I have read many documents but cannot figure out how to make them work :||

    • @devonduty
      @devonduty  2 года назад

      Hi Chi, check out my playlist, I've explained it there: ruclips.net/p/PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW

  • @chillstate9633
    @chillstate9633 3 года назад +1

    3:29 you could have used the terminal but point taken

    • @devonduty
      @devonduty  3 года назад

      True, but it's about editor support.

  • @victorrodriguez7705
    @victorrodriguez7705 3 года назад

    I have a question what kind of source is that

    • @devonduty
      @devonduty  3 года назад

      What do you mean with 'source'?

  • @Fanaro
    @Fanaro 2 года назад

    4:15 Not true either. You can hide 99% of the visual clutter in VS Code, including all you mentioned.

    • @devonduty
      @devonduty  2 года назад

      Until you can't. There's zen mode but it feels more like a hack, you'll always feel like that's not how VSCode is supposed to be used.

  • @neilclay5835
    @neilclay5835 2 года назад +1

    I think you sold it!

  • @Christobanistan
    @Christobanistan 2 года назад

    So what is so great that I'd put in the effort to switch? Like you said, after a few seconds, VS Code is fast. And everything you showed to do with the mouse can also be done with the keyboard in VS Code, without requiring you to learn those keyboard commands.
    How does vi/m work differently as an editor?

  • @jancylee8249
    @jancylee8249 3 года назад

    What's your colorscheme

    • @devonduty
      @devonduty  3 года назад +1

      Hi, it's Mofiqul/vscode.nvim

  • @r2com641
    @r2com641 2 года назад

    I can’t get nice minimap for nvim

  • @theteachr
    @theteachr 2 года назад +3

    VS Code has a Zen Mode. For distraction free writing.

    • @adheesh2secondsago630
      @adheesh2secondsago630 2 года назад +2

      But it is still ThAt OnE eLeCtRoN aPp.
      Uninstalled discord for same reason. If u r in a laptop, electron drinks a lot of juice.

  • @datanasov
    @datanasov 2 года назад +2

    I believe your comparison is quite unfair (though you do make some good points e.g. how slow vscode starts compared to vim - I agree this is quite annoying).
    You say that neovim "requires a bit of work upfront but it's definitely worth it", yet it seems like you've spent no time changing vscode's defaults.
    Most of the "disadvantages" of vscode that you mention can be fixed in less than a minute - e.g. keybindings for git stuff, removing virtually all of the visual clutter (activity bar, status bar, terminal panes pane, tab close buttons, etc) and as you mentioned the trust and recommended extensions pop-ups. The time for changing those defaults is much less than the time required to learn vim and most probably even less than the time required to configure vim (or choose a configuration that someone else created) even if you ignore the time for learning the shortcuts.
    Lastly it's not true that "nothing is missing" when using neovim. One example is that neovim doesn't support different fonts / font sizes for different things - e.g. smaller font size for code suggestions, terminal, minimap, etc. If you search vscode's settings you can see that there are 10+ font size settings.
    There's no doubt that neovim is a nice editor and if you prefer it's faster start time and the fact that you run it right from your terminal - that's completely fine, but there's no need to make vscode look worse than it actually is.

    • @devonduty
      @devonduty  2 года назад +1

      I appreciate your comment and agree that many things can be configured, I even say in my video that you can get rid of these annoying pop ups. Those just tell you that VSCode's main audience may not be experienced programers.
      > yet it seems like you've spent no time changing vscode's defaults.
      I've used VSCode a long time (~years) and tweaked whatever I could. It's just not meant to be completely keyboard driven and there are some corners which are designed for mouse input, e.g. its Git integration. I'd rather use something specifically designed for keyboard input.

  • @cbbcbb6803
    @cbbcbb6803 2 года назад

    Geary anyone?
    I like editors that start up in input mode.

  • @AlvaroALorite
    @AlvaroALorite 8 месяцев назад

    You complaining about the side bar taking a lot of space using vscode at 500%Size is a bit funny hahayaya