Discussion
Loading...

Post

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
David Chisnall (*Now with 50% more sarcasm!*)
@david_chisnall@infosec.exchange  ·  activity timestamp 7 days ago

#FreeSoftwareAdvent

I'm not sure if I will keep this up for the whole of advent (good luck @neil ), but if there's one piece of Free Software I want to highlight, it's vim.

I learned vim because it was the default vi implementation in RedHat Linux 5.x back in the distant past and vi is required by POSIX and so was installed everywhere (except Windows, where nothing useful is in the default install, but it is easy to add). I mostly use gVim early on, but once I was fairly comfortable with it, I started using it in the terminal.

And it's great to be able to use the same editor whether I'm local, on via SSH on a remote Linux or *BSD machine. I tried using VS Code's remote mode, but it's Linux only, and only fairly mainstream Linux even there. Want to connect to a RISC-V Linux? Sorry. Alpine on x86-64? If you jump through some hoops. CheriBSD on Morello? Or even OpenBSD on x86-64? No chance. Vim? All of those. And even things like Amiga, VMS, or QNX. Or iPad, or Android, or Haiku (the BeOS port seems to have died, but I haven't run BeOS for around 20 years).

I have written a few hundred lines of code, over a hundred and fifty articles, five books, two dissertations, and a couple of dozen papers in it. Most on a laptop, a bit on a desktop, and a surprising amount on a Nokia 770 with a folding Bluetooth keyboard (great for writing in a cafe by the sea).

When I started, the main benefit of vim over vi was multi-level undo. Since then, it's gained plugins for LSP support (so I even get nice error messages and autocompletion with our custom version of clangd with all of the CHERIoT extensions!), spell checking, and unlimited persistent undo. The last of which is the reason I don't use NeoVim (they didn't consider breaking the on-disk format for persistent undo a problem, I consider data loss very bad, and so don't trust them with my data).

At this point, my fingers are so trained to use vim shortcuts that I end up with :w scattered in the middle of random documents if I wrote them in anything else.

  • Copy link
  • Flag this post
  • Block
VZ
@VZ@fosstodon.org replied  ·  activity timestamp 7 days ago

@david_chisnall Speaking of main benefits, for me the greatest advantage of Vim was its excellent built-in help (and none of the other vi clones had anything comparable).

Of course, persistent undo, configurable syntax highlighting and spell checking, autocommands etc were great too. And, while sadly not relevant any more, it certainly didn't hurt that Bram was a very nice person.

But `:help` was really why I started using Vim all these years ago.

  • Copy link
  • Flag this comment
  • Block
Doerk
@NebulaTide@mastodon.bsd.cafe replied  ·  activity timestamp 7 days ago

@david_chisnall @neil
This is the reason why I’m still struggling with Helix. I like it’s batteries included approach and I like that I don’t have to spend months configuring my editor. But what I don’t like that it’s slightly different than vim. Not totally different, but different enough to make me feel uncomfortable when I have to access a remote server with vi installed after using Helix for weeks. And vi is the de facto standard on all Linux based servers,

  • Copy link
  • Flag this comment
  • Block
Neil Brown
@neil@mastodon.neilzone.co.uk replied  ·  activity timestamp 7 days ago

@david_chisnall

> my fingers are so trained to use vim shortcuts that I end up with :w scattered in the middle of random documents if I wrote them in anything else.

Yes, this!

  • Copy link
  • Flag this comment
  • Block
Ian Turton
@ianturton@mapstodon.space replied  ·  activity timestamp 7 days ago

@neil @david_chisnall me too!

I first learned a line editor called ecce which was a knockoff of ed that the Edinburgh computer services team had written (or forked). When we got an unix machine and full screen editing vi was a wonder to me. I wrote my thesis in plain vi along with a make file that did spell check, latex and indexing before producing the PDF.

  • Copy link
  • Flag this comment
  • Block
lemgandi
@lemgandi@mastodon.social replied  ·  activity timestamp 7 days ago

@david_chisnall @neil Yes, a working knowledge of vim(1) is de rigueur where I worked.

  • Copy link
  • Flag this comment
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.1-alpha.8 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login