• @baseless_discourse
    link
    110 months ago

    You raise a valid point. Personally, I used to read and write a lot of code, but I no longer do that. I still maintain a open source project, but my job no longer involves writing code that runs.

    IIRC, the most useful functionality I used to use are:

    • peak/goto definitions,
    • mouse over to peak doc and type signature,
    • find usage in project,
    • refractor the name/signature of a function,
    • real time linting and quick fix.

    I am quite curious on why go to beginning or end of the file useful? Also I am not sure that the basic find/replace is more useful than find usage/refactor.

    • peak/goto definition

      Plugins are available for most popular languages. I rarely need to see the type of a value, and if I want to see the signature of a function, I usually want to go to the implementation as well.

      find usage

      I just use grep. I’m already in a terminal, so I have all of those features available. Since I use tmux, I just switch over to another pane and run my search there. For changing the name of a function (which is very rare), I just use sed or do the change manually with vim $(grep ...) if it’s more than just a name change (usually I’m changing the signature too).

      real time linting

      I use a plugin for that, and it works really well.

      beginning or end of file useful

      Beginning of file: look for an import/constant

      End of file: add new function, or a shortcut to the last brace to jump to the start of the class/function. I try to keep files small and single-purpose, so it’s usually what I want (jump to end and match braces).

      And yeah, I occasionally miss context-aware search/refactor, but again, it’s so rare that it’s not a big deal. I save far more time with macros than I lose doing manual renames. If I know I’ll be doing a lot of that (and usually it comes in bursts), I have VSCode installed as well. But I don’t launch it very often.

      My whole workflow is very command-line oriented, so using a GUI tool just gets in the way for me.

      • @baseless_discourse
        link
        110 months ago

        That is valid man, we all have different workflow, hence different priorities.

        • Yup, use what works. Most of my coworkers use VSCode, and I’m the oddball with ViM (though I have VSCode installed w/ ViM extension).

          Whatever you use, master it. I recommend learning some CLI editor in case you end up needing one.

          • @baseless_discourse
            link
            1
            edit-2
            10 months ago

            That is great advice. Vim was actually the first editor I properly learned. I find many of the keybinding very nice and useful especially for cursor movement.

            I eventually moved away from it since I find I spend more time learning it than using it. I personally dont use that many feature of a editor, I find IDE features more important to me.

            But I still have many global keybinding inspired by vim, like ctrl + jkhl;^ for cursor movement. They are absolutely essential for me at this point.

            • Hjkl is the one core ViM feature that I actually rarely use. I use Dvorak keyboard layout, so those keys are in an awkward location, so I use other movements instead.

              I have just enough IDE features in ViM that I don’t feel the need to switch for most tasks, and if I ever did, there are plugins that fill in the gaps.

              So I guess we’re just opposite sides of the same coin. :)