The Traditional Vi

(ex-vi.sourceforge.net)

52 points | by exvi 9 hours ago ago

40 comments

  • JdeBP 5 hours ago ago

    I was just talking about a fun and largely forgotten feature of Joy+Horton vi elsewhere.

    * https://mastodonapp.uk/@JdeBP/116793159030149624

    You can see it here in Ritter vi on lines 83 et seq. of ex_vis.h . vi actually has three flavours of its 'open' mode, for cursor addressable video terminals, non-cursor addressable video terminals, and actual paper terminals.

    There's an as-yet unfilled niche for the retrocomputeristas with genuine ADM-3s or (as someone pointed out) TI Silent 703s and suchlike to do a YouTube video showing Joy+Horton vi in its 3 open modes.

    • Joker_vD an hour ago ago

      What is open mode?

      • JdeBP 14 minutes ago ago

        Fortunately, I don't have to write up an explanation of this, as Joy and Horton already did.

        * https://ex-vi.sourceforge.net/viin/paper-7.html#section53

        It's basically the answer to the question of how one does vi-like visual editing when the cursor cannot be moved to arbitrary locations on the terminal, or sometimes cannot even be moved upwards.

        Amusing factoid: It's actually sort of the other way around. open mode was added to ex before visual mode was. visual mode is the answer to the question of how you can take advantage of an ability to move the cursor around arbitrarily.

        * https://www.oreilly.com/library/view/learning-the-vi/1565924...

        VIM and STEVIE never implemented it. VIM makes :open do the same as :visual . nvi and nvi2 issue a 'not implemented' error for the :open nex command. Watcom vi does not even have :open . Nor do NeoVIM, nextvi, neatvi, and viless.

        Mortice Kern vi has open mode. So does elvis version 2.

  • imglorp 4 hours ago ago

    As an undergrad around 1984 I stumbled on some AT&T 3B2's in the computer lab and started to play. Knowing nothing of Unix (would have been ~ SVR3.x), I asked for help and the TA said something like "read the fine manual" as was customary. So I started off with "man something" and off we went, ending up at "man 1 vi", the glorious, pure original, none of this vim stuff...

    Of course when I got onto the BSD VAX, someone set me straight and it was Emacs from there on..

  • Fwirt an hour ago ago

    I started writing a more fleshed out vi compatibility mode for TextAdept earlier this year. As someone who understood the basics after going through :vimtutor multiple times but always struggled with the more "advanced" commands, there's no better way to actually grok vi than to just try to recreate it. It's pretty amazing how much Bill Joy managed to pack in. Of course, if you're implementing POSIX vi, there are quite a few features that have aged poorly, like roff/troff macros and line-editing, but there are also quite a few commands that I had never paid attention to (like _) that have subtle behaviors that sped up my editing even more. The hardest part about becoming proficient in vi is committing commands to muscle memory so you don't habitually fall back on hjkl.

    • rav an hour ago ago

      > Of course, if you're implementing POSIX vi, there are quite a few features that have aged poorly, like roff/troff macros and line-editing

      What do you mean by "roff/troff macros"?

      EDIT: Ah, you're probably talking about the "section-wise" movements, defined in POSIX with language like "A line whose first character is a <period> and whose second and third characters match a two-character pair in the 'sections' edit option (see ex)" - that's the first time I've stumbled upon the 'sections' and 'paragraphs' options in the Vim manual ... Very quaint!

  • GaryBluto 7 hours ago ago

    Tangentially related, I wish more websites and blogs looked like this now. It's elegant and modern but simple.

    • voidUpdate 4 hours ago ago

      I wish it took up more than 640 pixels on the left of my 1920 pixel screen. I changed the CSS of the body to be 900pt instead of 480, and it renders at 1200px wide, which looks a lot nicer to my eyes. Didn't bother trying to center it though, which would have improved it even more

    • himata4113 7 hours ago ago

      Lacks centering, other than that I also found it enjoyable to look at.

      • deadbabe 4 hours ago ago

        That’s a feature. It lets your thumb scroll comfortably in a larger blank area so the content is always in view for you. There is no reason for things to be centered, it does not aid readability.

        • lunar_rover 2 hours ago ago

          This only works on large enough tablets. On phones the page isn't readable without a 3x zoom.

        • himata4113 4 hours ago ago

          Not a feature on a 32inch ultrawide.

          • deadbabe 3 hours ago ago

            Use smaller window

            • zamadatix 2 hours ago ago

              Use phone horizontally.

              Much more practically, the best designs are the ones who don't demand of the user they be consumed in a single form across every scenario.

    • christophilus 7 hours ago ago

      To me, the justified text makes it an effortful read.

      • Gualdrapo 6 hours ago ago

        Yup, I hope every one agrees to leave proper justified text to LaTeX/ConTeXt/Typst/<your_favorite_typesetting_software>, doing such thing for HTML is still ugly and makes things harder to read

    • nosioptar 5 hours ago ago

      Breaks Firefox's reader mode.

      Looks like dog shit on mobile.

      I agree that this general style is good, just without some of this page's fuckups.

      • kps 5 hours ago ago

        Chrome's too, but why? It's just plain HTML.

        • heftig 5 hours ago ago

          Mobile browsers are assuming you're looking at a legacy page optimized for desktops (widescreen) and have a relatively large virtual screen size by default. They expect you to manually zoom in as necessary. Adding this helps:

            <meta name="viewport" content="width=640, initial-scale=1">
          
          This matches the max-width specified by the CSS. However, a smaller viewport width might be appropriate to increase the text size on mobile.
        • chorizo 5 hours ago ago

          Safari reader mode on mobile works great. But then again, this is a site where you should not need it.

  • whartung 2 hours ago ago

    I learned vi back in the day and have never really graduated to vim.

    My favorite features are the ranges on the commands (like substitute or delete), piping the buffer into the bottomless utility of the classic UNIX command line, and the . do again command.

    About the only vim feature I use today is being able to navigate while entering text, but even after all this time, that is not automatic to me.

    I have used syntax coloring a couple of times, I find it particularly useful for XML, especially XML with chunks of XML commented out.

    • sawyers 38 minutes ago ago

      Any interesting reading on the second paragraph?

  • senthil_rajasek 6 hours ago ago

    A 2007 article from sourceforge.net and it's not even throwback Thursday.

    "Gunnar Ritter <gunnarr@acm.org> 2007-11-29"

    • herodoturtle 5 hours ago ago

      It's been years since I heard the term "Throwback Thursday", funny that reading it here felt like a throwback in its own right ^_^

      • wyclif 3 hours ago ago

        It's still very much alive.

  • mghackerlady 5 hours ago ago

    I wish elvis was still around. I don't want everything vim has but I like syntax highlighting and other conveniences

  • jbverschoor 5 hours ago ago

    vim with mouse frustrates the hell out of me.

    Just give me basic vi, or a complete editor

    • setopt 5 hours ago ago

      `set compatible`?

  • haunter 6 hours ago ago

    Github mirror + some bugfixes

    https://github.com/n-t-roff/heirloom-ex-vi/

  • fragmede 6 hours ago ago

    :x is a vim feature, so this wouldn't support it, so you'll have to use :wq instead.

    • JdeBP 5 hours ago ago

      Incorrect.

      :x is a vi feature, that was introduced by Mary Ann Horton to actual Joy+Horton vi in February 1980.

      * https://code.illumos.org/plugins/gitiles/illumos-gate/+/refs...

      Ritter's vi is derived from Joy+Horton vi. Illumos has the original.

    • atsaloli 6 hours ago ago

      or ZZ to save and exit

      • herodoturtle 5 hours ago ago

        28 years of vi and TIL about ZZ.

        Thanks friend! ^_^

        • bbaron63 4 hours ago ago

          ZZ is the first vi command I learned. After typing vi and only seeing a column of ~s, I asked how do I get out of this thing. Someone answered - ZZ.

          • wyclif 3 hours ago ago

            Did they say "zz" or specify [capital] "ZZ"?

        • mghackerlady 5 hours ago ago

          I just learnt it the other day, as well. Granted, it was from chapter 1 of "Learning the vi and vim Text Editors" but shhh

      • alkyon 4 hours ago ago

        Repeat ZZ to save & exit if there are more files to edit

        ZQ - discard & exit

  • mikejulietbravo 4 hours ago ago

    text editors 5ever