1. 30
  1.  

  2. 8

    “Those who do not learn Unix are doomed to reinvent it poorly.” –Someone

    1. 5

      This is great @neilkakkar. Not to discredit your work, but for those who want a more thorough treatise on this, I have been reading How Linux Works and it’s really good.

      1. 8

        The beauty of this is that I can “open” a directory file to see the contents as well!

        Nah, not really. You can’t cat a directory (anymore), vim just so happens to have a file manager built in. That’s no different from a regular GUI file manager or, in it’s essence, ls.

        This points towards one of the things I really dislike amongst those who glorify Unix, or more specifically command line interfaces. Sure, there are benefits, but just because you are not directly using graphical user interfaces (but of course probably rely one one because everyone sensible uses terminal emulators), you’re neither more productive, more intelligent or in any other sense better. The only exception is the tautological ability to use CLIs. It’s mostly just looks. Using ncppmpc looks cooler than using any other music player, or even mpd client. Using ranger looks more advanced than using your regular file manager. Using vim looks like you know what you’re doing – but as I’ve experienced so many times as a tutor at university, when directly ask people “why are you using that”, you either get a stock answer or none at all. That’s not to say that there aren’t those who have learned their crafts, the tricks of the TUI/CLI world. It’s just that if you have spent the amount of time necessary to do that, it would have been absolutely surprising if you weren’t as productive as you are.

        1. 3

          I agree with your general premise, with one piece of commentary and specific to vim/text editors.

          It’s just that if you have spent the amount of time necessary to do that, it would have been absolutely surprising if you weren’t as productive as you are.

          I think there is a theoretical maximum to how productive you can be with software*. I think this magic number is higher for a terminal based text editor compared to a GUI based text editor. Both tools require you to invest a lot of time in order to become productive, but your limit is higher.

          • I have no data to back this up. :)
          1. 2

            I think TUI applications generally have this higher “productivity maximum” because of the constraints they put on the user experience’s design. A terminal application has to be 1. keyboard driven and 2. powerful without being convoluted. Those two together can make for very fast and efficient workflows, because the keyboard is undeniably faster than the mouse and every feature in the program has to be meaningful and accessible.

            Of course the fact that this results in smaller programs means extensions are necessary for things like text editors which need a variety of features. But, adding extensions to the mix turn this efficient core workflow into something adaptable, which is among the biggest strengths of both vim and emacs.

            1. 1

              I think there is a theoretical maximum to how productive you can be with software*. I think this magic number is higher for a terminal based text editor compared to a GUI based text editor.

              If we’re talking about vi/vim, then there should be no such distinction, since vi/vim is most significant for it’s keybinding choices and compositions. These can be emulated to varying degrees by graphical editors, but there’s no reason why there couldn’t be a full GUI reimplementation of the vi/vim keybindings.

              1. 1

                I guess this “terminal-based” vs. “GUI-based” distinction is kinda not a good axis of comparison, given that gvim is technically totally a “GUI-based text editor”, so it makes not much sense to compare “vim vs. GUI-based editors”, as it could be full well taken to “vim vs. gvim”. Or at least the handwavy “GUI-based” would have to be defined more precisely, how it differs from gvim. Such that we also know where to put emacs then (given that it has variable-size fonts, can embed images, etc.)

          2. 3

            More like “How Unix Works: Become a little more knowledgeable about Unix concepts”. I don’t even know why they mention inodes.