1. 9

  2. 3

    I’ve used vi, vim or neovim for about 30 years now, so I have no idea what it’s like for a beginner. What I do know is that my .vimrc is about 40 lines long, I could get rid of ten of them today without feeling a pang, and basically all the rest are disposable nice-to-haves.

    I don’t expect my editor to be an IDE. I don’t use it as a file manager. If I load up multiple files they are all related to the job at hand and I edit them sequentially, not in different tabs or windows.

    I suspect that most of the things that are thought to be weird stem from the experience of using IDEs. It’s probably the case that an IDE can be built from vim + plugins, but if I wanted an IDE, I would want one that invoked vim as an editor rather than tried to make vim into one.

    I assume hardcore emacs users have the opposite viewpoint.

    1. 3

      I’ve only been using vim for about 20 years and until very recently my vimrc was about 20 lines. It gained a few lines to make vim use XDG-friendly locations (for example, putting undo and backup files in ~/.cache). It gained five more to tell neovim to use different directories because neovim decided to change the format of undo files in incompatible ways but still give them the same name so you can’t mix vim and neovim on the same system (which mostly convinced me not to switch to neovim).

      It then doubled in length in the last month and is now 72 lines. Almost all of that if configuring ALE. Some of it is installing ALE via Plugged (so when I git pull my ~/.config directory and pick up the new vim config it is set up to install ALE on any system for me with a single Vim command). ALE needs a little bit of configuration to tell it where to find clangd / clang-format / clang++ (and, of course, Ubuntu and FreeBSD install them all with different names so getting the correct per-platform name is fun).

      But broadly speaking, I agree. I’ve written four books, a couple of hundred articles, a bunch of papers, and more code than I want to try to count in vim and I’ve never needed to do very much configuration. The vimrc on my other laptop (which I haven’t yet merged) has a dozen or so lines of macros to help with LaTeX so I can type an environment name, hit F3, and have it fill in my skeleton of what that environment looks like, but that’s about it.

      I don’t want to say that there’s no value in customising vim - I could probably increase my productivity a bit if I did a bit more - but it’s definitely not needed for a new user. That said, ALE has made a huge difference: it’s reminded me how much I enjoyed having decent code completion in an IDE (but hated the fact that the IDE’s key bindings weren’t the ones that vim had taught my fingers).

      That said, if the remote extension for VS Code were portable and supported all of the machines that I want to develop for then I’d probably switch away from vim.

      1. 2

        I assume hardcore emacs users have the opposite viewpoint.

        Emacs user since 1992, my ~/.emacs file is 115 lines long, and half of those lines are from customize settings.

        1. 1

          I’ve been using vim for only 10 years. My vimrc is about 600 lines spread across 5-6 files, not counting special syntax or after tweaks I have. Also 20ish plugins.