i cannot believe I was vscode-pilled for so long, holy shit. it takes like a week tops to get a basic understanding of the bindings, and from there it's just light speed.

they weren't lying, I am programming as fast as i am processing :isaac-pog:

  • invanity [none/use name]
    ·
    2 years ago

    I haven't used vim since college, and even then I barely strayed from the default setup and definitely didn't use all the concepts. There's some way to use multiple windows and manage multiple items in a copy/paste buffer, I guess?

    How well does vim handle large code projects with symbols split across many files? Is there some binding that I can jump to the definition or implementation of a function in a different file? What about all uses of the function?

    I only code at work anymore and they make us use Visual Studio (no plugins or outside software allowed). But I'm curious what are the benefits of vim in this context? I know it's great for quickly editing a single file.

    • wopazoo [he/him]
      ·
      edit-2
      2 years ago

      There’s some way to use multiple windows and manage multiple items in a copy/paste buffer, I guess?

      Vim docs: Editing with multiple windows and buffers

      CTRL-W CTRL-V or :vsplit to split your window in half.

      How well does vim handle large code projects with symbols split across many files? Is there some binding that I can jump to the definition or implementation of a function in a different file? What about all uses of the function?

      You can use external tools like ripgrep for this. I found someone's blog post where they integrated ripgrep and fzf into vim, but I usually just exit vim to use the command.

      I only code at work anymore and they make us use Visual Studio (no plugins or outside software allowed). But I’m curious what are the benefits of vim in this context? I know it’s great for quickly editing a single file.

      I feel like the greatest benefit of vim comes from the keyboard control scheme. It lets you move around in your code way faster than you can with a mouse.

      It's actually really common to install a plugin that gives you vim keybinds in other editors, like VsVim, Vim Emulation layer for Visual Studio 2015 and above. This Vim plugin for VSCode has 5+ million installs lmao.

    • captcha [any]
      ·
      edit-2
      2 years ago

      Vim can do horizontal and vertical splits and tabs. One thing to note is your splits are inside tabs. Splits dont have tabs like in intellij.

      "+y copies to system clipboard. "+p pastes from. the system clipboard. Thats a super useful one. " indicates you want to use a specific buffer to yank/paste and + means the system clipboard. You could replace + with some over number but I never do.

      All language integration IDE usage used to be done by custom plugins but now everyone uses language servers which is what vscode uses. So whatever tooling vscode has, neovim is almost guaranteed to have. You'll have to define your own bindings though.

      Also vim plugins used to be written in vimscript which is a bad language. Neovim added support for lua, a good language. You could learn lua in less than a day if you know other languages. And lua is literally made to be side car'd into programs so it makes perfect sense.