@prologic@twtxt.net gonix-vim, of course. 😅
@prologic@twtxt.net Depends on what you want, I guess.
Stability: vim-classic > vim > neovim
Features: neovim > vim > vim-classic
😅
Vim Patches Yielding Faster GTK3 Wayland Performance: “Major Milestone”
For those using Vim with its GTK3 toolkit interface on Wayland, it soon should be delivering much better performance with pending patches… ⌘ Read more
Speaking of vim… Which version of vim should I ship with GoNIX? 🤔 Vim or Neovim or something else?
Other than the few Unicode issues I mentioned recently, vim-classic works just fine. I completely forgot that I switched to it.
I noticed that there are quite a few UI glitches in vim-classic – and quickly found the cause: It comes with outdated Unicode tables.
I have to admit that I wasn’t aware that there’s a new Unicode release every year:
https://en.wikipedia.org/wiki/Unicode#Versions
Look at this huge number of changes. Every program has to keep track of that, often through libraries but sometimes not (like in Vim’s case).
I use Unicode extensively, but this shit is extremely expensive …
My TUI framework is having the same problem. At the moment, this is all offloaded to wcwidth, but if that library was to become unmaintained, I’d have to track Unicode myself.
Gah!
The DOS days were simpler. CP437, end of story. (Yes, I know that’s a lie.)
Giving vim-classic a try now. Let’s see how it goes. 🤔
Vim Classic 8.3 Launched as an AI-Free Vim Fork
This month saw the release of Vim Classic 8.3, the first stable version of a new long-term support fork of Vim maintained without generative AI tools. Linuxiac reports:
The release is based on Vim 8.2.0148 and includes selected bug fixes and patches backported from later upstream Vim releases. Vim Classic was first announced by [SourceHut’s CEO/founder] Drew DeVault in March 20 … ⌘ Read more
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
Getting the vim key bindings to work for focus switching in this modal dialog took me forever. Only cursors and (Shift+)Tab are supported out of the box. I absolutely understand that, it’s fine. I installed an input handler on the dialog, but the focus always stayed the same.
After two wasted hours, I was in despair to copy the tview.Modal into my own code base. Of course, I had to fix all the private tview field accesses first. But even installing the input handler directly on the buttons themselves did not work. Even though, the handler was definitely executed, the focus did not shift. Forcing redraws as a last resort also did not work.
Looking through all the messy chained input handling, I eventually stumbled across another place in the tview.Form, which is internally used by tview.Modal. This messed around with app focus receptions and input handlers. This gave me the idea to make the tview.Application refocus my modal dialog after I told the modal dialog which button to select. And would you look at that, this did the trick! I haven’t completely figured out what is going on exactly, but I could get rid of my Modal clone again.
I always go through hell with focus handling in tview. Each and every time. It just does not feel natural to me. Complete brainfuck to wrap my head around. The Urwid API felt sooo much more refined, it never was an issue. It just works. In fact, I cannot think of any other TUI library that has remotely the same pain level when it comes to focusing widgets as tview.
Now I’m curious how movwin deals with that. ;-)
Security updates for Tuesday
Security updates have been issued by AlmaLinux (bind and libyang), Debian (keystone and openssl), Fedora (mingw-objfw, objfw, sentencepiece, and tailscale), Mageia (packagekit and suricata), Oracle (bind, bind9.16, go-toolset:ol8, ImageMagick, kernel, samba, and vim), SUSE (apache-commons-lang3, apache-commons-text, apache-commons- configuration2, apache-commons-cli, apache-commons-io, apache-commons-codec, avahi, busybox, chromedriver, chromium, csync2, firewalld, frr, gleam, helm … ⌘ Read more
@lyse@lyse.isobeef.org Ah, I almost thought so (that you wrote it by hand), but then I looked at the source code and saw the TOC and I was like: “Naah, probably not. I would be way too lazy to do that manually.” 😅 And indeed … ha.
Oh god, yeah, that’s a lot of <span>. 🤔 Can’t really avoid that, I guess, especially if you want to do syntax highlighting of code blocks.
You wrote your own site generator, didn’t you?
In parts. I write everything in Markdown (it’s online, even: https://movq.de/blog/postings/2026-05-29/0/POSTING-en.md), plus a few Vim shortcuts (to generate thumbnails, for example), and then python-markdown renders it: https://pypi.org/project/Markdown/ This process is wrapped in a shell script, like “re-render every page if the .md file is newer than the .html file” and that’s mostly it. And the Atom feed generator is completely custom. 🤔
Security updates for Thursday
Security updates have been issued by AlmaLinux (.NET 10.0, compat-openssl10, compat-openssl11, delve, expat, httpd:2.4, libexif, mod_http2, openssl, ruby4.0, samba, thunderbird, unbound, and vim), Debian (ceph and sudo), Fedora (libsoup3, pie, roundcubemail, and xorg-x11-server-Xwayland), Mageia (lxc), Oracle (expat, gnutls, kernel, php:8.2, thunderbird, and uek-kernel), Slackware (httpd, net, proftpd, tigervnc, and xorg), SUSE (apache-sshd, apptainer, atril, bind, busybox, c … ⌘ Read more
[$] LWN.net Weekly Edition for June 4, 2026
Inside this week’s LWN.net Weekly Edition:
Front: MeshCore; x32 ABI; Open-source security; Package-manager metadata; More LSFMM+BPF coverage; Loadable crypto module.
Briefs: Lightwell; jqwik protestware; RedHat package compromise; DistroWatch; Fedora election; Rust 1.96.0; rsync; Vim Classic 8.3; Quotes; …
Announcements: Newsletters, conferences, security updates, patch … ⌘ Read more
@movq@www.uninformativ.de It’s the “Lyse types the entire HTML by hand” generator. Yes, no kidding. I write articles so rarely, that I can do that once in a while. It’s fun to some degree, but also not.
After some time, I finally recorded some Vim macros to insert <b>…</b>, <var>…</var>, <span class=s>…</span> etc. around the tokens. This helped a little bit. But I was still questioning my mental state doing it like that. I also had to fix a bunch of the end tags by hand, because the word movement wasn’t enough or the end movement went too far. Quite the annoying process for sure.
But I think the HTML looks a wee bit nicer and is maybe even semantically a little bit better than having only <span>s everywhere. I find the <span class="whatever"> just soo awfully long. Of course, I never look at the code again, but knowing, that e.g. there is a <b> and it saves so many bytes in comparison, makes me happy. It is a more elegant solution in my opinion. Not by much, but better nonetheless. It’s a matter of simplicity. Admittedly, even I can’t avoid the <span>s alltogether. Oh well. On the other hand, I’m sure that this does not make any difference whatsoever. I bet, nobody and nothing, like a screenreader, analyzes the HTML for that, where this would be truly useful.
Oh! Maybe text browsers, though. It just occurred to me while composing this reply. :-) Haha, I lost my bet quickly. w3m picks up at least the <b> for keywords and builtin types, <u> for filenames and <i> for comments. Yey. No different styles for <var> and <mark>, unfortunately. elinks only renders the bold. It’s cool that I had the right intuition right from the beginning, despite being unable to pinpoint it. :-)
All the <span> hell with common syntax highlighters is a downer for me that keeps me from looking more into them. If I wrote more articles, I might rig something up with Pygments. At least that’s somehow positively connotated in my brain. Not sure if it actually deserves it, but I dealt with that in some loose form (can’t even remember) years and years ago. Apparently, it wasn’t too terrible.
To prepare the table of contents, I used grep and sed with some manual intervention in the end. The entire process can be improved. Absolutely.
You wrote your own site generator, didn’t you?
Vim Classic 8.3 released
Version\
8.3 of Vim Classic has been
released. This is the first release of the Vim fork since the project
was announced
in March.
This release is based on Vim 8.2.0148, with a number of bug fixes
and patches conservatively backported from future versions of Vim
upstream. We elected to clean up this version of Vim, prepare it for a
release, and imagine an alternate history wh … ⌘ Read more
Security updates for Tuesday
Security updates have been issued by AlmaLinux (php:8.2 and php:8.3), Debian (gst-plugins-good1.0, symfony, and yelp), Fedora (dovecot, freeipa, hplip, libpng, perl-Catalyst-Plugin-Authentication, postfix, samba, unbound, and vim), Mageia (assimp, libcaca, sdl2_sound, and tar), Slackware (kernel), SUSE (alloy, apache-commons-lang3, apache-commons-text,, apache2, bubblewrap, busybox, chromium, cups, docker-stable, ffmpeg-8, google-osconfig-agent, gsasl, ignition, java-26-openjdk, k … ⌘ Read more
Security updates for Wednesday
Security updates have been issued by AlmaLinux (kernel, libpng, nginx, nginx:1.24, ruby, and ruby:3.3), Debian (gnutls28 and linux-6.1), Fedora (dnsmasq, kernel, keylime-agent-rust, perl-Net-CIDR-Lite, python-pysam, python-urllib3, rust-cargo-vendor-filterer, rust-ingredients, rust-oo7-cli, rust-rpki, rust-sevctl, and rust-tealdeer), Mageia (bind), Oracle (bind, giflib, gimp:2.8, kernel, libpng, rsync, ruby, and vim), Slackware (haveged and mozilla), SUSE (cockpit, dnsmasq, e … ⌘ Read more
Vim Merges GTK4 Toolkit Support, Co-Authored-By Claude
The GTK-based GUI version of the Vim text editor, gVim, now has support in place for the modern GTK4 toolkit as an alternative to its long present GTK2/GTK3 support… ⌘ Read more
@tftp@tilde.town mentioning in here requires he whole shebang. With jenny, if using vim, there is a key combination:
Nick name completions: Allows you to use ^X ^U to turn verbatim nick names into full twtxt mentions. For example, typing “cath” and then pressing ^X ^U will turn “cath” into a full mention, like “@”. (This function will read the contents of your “~/.config/jenny/follow” file.)
Security updates for Monday
Security updates have been issued by AlmaLinux (corosync, freeipmi, kernel, and kernel-rt), Debian (corosync, firefox-esr, kernel, lcms2, libpng1.6, linux-6.1, php8.2, php8.4, postorius, pyjwt, and tor), Fedora (dotnet10.0, exim, gnutls, kernel, nextcloud, nodejs22, php, proftpd, prosody, python-pulp-glue, python-requests, rclone, and SDL3_image), Mageia (firefox, nss, rootcerts, openvpn, thunderbird, and vim), Oracle (corosync, freeipmi, gstreamer1-plugins-bad-free, gstreamer1-plugins … ⌘ Read more
Security updates for Thursday
Security updates have been issued by AlmaLinux (dovecot, fence-agents, freeipmi, git-lfs, image-builder, kernel, libsoup, osbuild-composer, and python-tornado), Debian (apache2, libdatetime-timezone-perl, lrzip, tzdata, and wireshark), Fedora (dovecot, forgejo-runner, gh, gnutls, krb5, nano, pdns, pyOpenSSL, squid, vim, and xorg-x11-server-Xwayland), Mageia (graphicsmagick, kernel-linus, krb5-appl, libexif, libtiff, nano, nginx, ntfs-3g, opam, perl-Net-CIDR-Lite, perl-Starlet, perl-Starma … ⌘ Read more
Security updates for Friday
Security updates have been issued by AlmaLinux (fence-agents), Debian (chromium, dovecot, and kernel), Fedora (chromium, dotnet10.0, dotnet8.0, dotnet9.0, emacs, glow, jfrog-cli, openbao, pyp2spec, python3.6, rust-rustls-webpki, vhs, and xen), Oracle (grafana, grafana-pcp, PackageKit, sudo, vim, and xorg-x11-server), Red Hat (rhc), SUSE (avahi, bouncycastle, chromium, container-suseconnect, firewalld, gdk-pixbuf, grafana, java-25-openjdk, kernel, libixml11, libmozjs-140-0, libpng12- … ⌘ Read more
Security updates for Thursday
Security updates have been issued by AlmaLinux (buildah, firefox, gdk-pixbuf2, giflib, grafana, java-1.8.0-openjdk, java-21-openjdk, LibRaw, OpenEXR, PackageKit, pcs, python3.11, python3.12, python3.9, sudo, tigervnc, vim, xorg-x11-server, xorg-x11-server-Xwayland, yggdrasil, and yggdrasil-worker-package-manager), Debian (calibre, firefox-esr, and openjdk-17), Fedora (asterisk, binaryen, buildah, dokuwiki, lemonldap-ng, libexif, libgcrypt, miniupnpd, openvpn, podman, python3.9, rust-rpm-sequo … ⌘ Read more
Security updates for Wednesday
Security updates have been issued by AlmaLinux (firefox, gdk-pixbuf2, java-17-openjdk, libxml2, python3, python3.11, python3.12, sudo, and webkit2gtk3), Debian (dnsdist, node-tar, pdns, pdns-recursor, and policykit-1), Fedora (chromium, edk2, and vim), Oracle (firefox, gdk-pixbuf2, go-toolset:rhel8, libpng12, LibRaw, libxml2, python, python3, python3.11, python3.12, python3.12-wheel, vim, webkit2gtk3, xorg-x11-server, xorg-x11-server-Xwayland, yggdrasil, and yggdrasil-worker-package-mana … ⌘ Read more
Security updates for Tuesday
Security updates have been issued by Debian (openjdk-21 and webkit2gtk), Fedora (botan3, chromium, cockpit, firefox, flatpak, gum, libarchive, libcoap, mingw-python3, ngtcp2, nss, openssh, openssl, openvpn, PackageKit, python3-docs, python3.11, python3.12, python3.13, python3.14, vim, and xrdp), Oracle (firefox, gdk-pixbuf2, java-1.8.0-openjdk, java-21-openjdk, python3.12, python3.9, sudo, and tigervnc), Red Hat (tigervnc and xorg-x11-server-Xwayland), Slackware (mpg123 and proftpd), * … ⌘ Read more
Security updates for Thursday
Security updates have been issued by AlmaLinux (bind, bind9.16, bind9.18, cockpit, fence-agents, firefox, fontforge, git-lfs, grafana, grafana-pcp, kernel, nghttp2, nginx, nginx:1.24, nginx:1.26, nodejs:20, nodejs:22, nodejs:24, pcs, perl-XML-Parser, perl:5.32, resource-agents, squid:4, thunderbird, and vim), Debian (incus, lxd, and python3.9), Fedora (cef, composer, erlang, libpng, micropython, mingw-openexr, moby-engine, NetworkManager-ssh, perl, perl-Devel-Cover, perl-PAR-Packer, polymake, … ⌘ Read more
[$] LWN.net Weekly Edition for April 16, 2026
Inside this week’s LWN.net Weekly Edition:
Front: LLM security reports; OpenWrt One build system; Vim forks; removing read-only THPs; 7.0 statistics; MusicBrainz Picard.
Briefs: OpenSSL 4.0.0; Relicensing; Servo; Zig 0.16.0; Quotes; …
Announcements: Newsletters, conferences, security updates, patches, and more. ⌘ Read more
[$] Forking Vim to avoid LLM-generated code
Many people dislike the proliferation of Large Language Models (LLMs) in recent
years, and so make an understandable attempt to avoid them.
That may not be possible in general, but there are two new forks of
Vim that seek to provide an editing
environment with no LLM-generated code. EVi focuses on being a modern Vim
without LLM-assisted contributions, while Vim Classic focuses on providing a lon … ⌘ Read more
Security updates for Wednesday
Security updates have been issued by AlmaLinux (capstone, cockpit, firefox, git-lfs, golang-github-openprinting-ipp-usb, kea, kernel, nghttp2, nodejs24, openexr, perl-XML-Parser, rsync, squid, and vim), Debian (imagemagick, systemd, and thunderbird), Slackware (libexif and xorg), SUSE (bind, clamav, firefox, freerdp2, giflib, go1.25, go1.26, helm, ignition, libpng16, libssh, oci-cli, rust1.92, strongswan, sudo, xorg-x11-server, and xwayland), and Ubuntu (rust-tar and rustc, rustc-1.7 … ⌘ Read more
Security updates for Monday
Security updates have been issued by AlmaLinux (fontforge, freerdp, libtiff, nginx, nodejs22, and openssh), Debian (bind9, chromium, firefox-esr, flatpak, gdk-pixbuf, inetutils, mediawiki, and webkit2gtk), Fedora (corosync, libcap, libmicrohttpd, libpng, mingw-exiv2, mupdf, pdns-recursor, polkit, trafficserver, trivy, vim, and yarnpkg), Mageia (libpng12, openssl, python-django, python-tornado, squid, and tomcat), Red Hat (rhc), Slackware (openssl), SUSE (chromedriver, chromium, … ⌘ Read more
Security updates for Friday
Security updates have been issued by AlmaLinux (container-tools:rhel8, fontforge, freerdp, go-toolset:rhel8, gstreamer1-plugins-bad-free, gstreamer1-plugins-base, and gstreamer1-plugins-good, kernel, kernel-rt, libtasn1, mariadb:10.11, mysql:8.4, nginx:1.24, openssh, pcs, python-jinja2, python3.9, ruby:3.1, vim, virt:rhel and virt-devel:rhel, and xmlrpc-c), Debian (libyaml-syck-perl and openssh), Fedora (cockpit, crun, dnsdist, doctl, fido-device-onboard, libcgif, libpng12, libpng15, mbedtls, o … ⌘ Read more
Via https://github.com/newsboat/newsboat/issues/3220#issuecomment-4198066671 I came across this nice selection on why not to use AI: https://github.com/Vxrpenter/AIMania/blob/main/WHY.md#why
This then lead me to the slopware list: https://codeberg.org/small-hack/open-slopware
Holy shit, there’s even more than I thought. :-O In addition to Vim, the following affects me more or less daily (but hopefully not my ancient versions): curl, VLC, ImageMagick, rsync, Python, systemd and even the Linux Kernel itself. Oh fuck me dead. :‘-(
Security updates for Tuesday
Security updates have been issued by AlmaLinux (crun, kernel, and kernel-rt), Debian (dovecot), Fedora (calibre and nextcloud), Mageia (freerdp, polkit-122, python-nltk, python-pyasn1, vim, and xz), Red Hat (edk2 and openssl), SUSE (avahi, cockpit, python-pyOpenSSL, python311, and tar), and Ubuntu (lambdaisland-uri-clojure, linux-gcp, linux-gcp-4.15, linux-gcp-fips, linux-oem-6.17, and linux-realtime-6.17). ⌘ Read more
@movq@www.uninformativ.de that’s it, fork it!. I am forking vim. :-D
And another fork: https://drewdevault.com/2026/03/25/2026-03-25-Forking-vim.html
@movq@www.uninformativ.de Luckily, I’ve never encountered any bugs in Vim with my type of work and features I use.
@lyse@lyse.isobeef.org Yah, I don’t really know what to do about it. I’ll probably keep using Vim as it is – until there are bugs. And then we’ll see. Build an older version from source maybe?
I’ve been using Vim for such a long time now, I have very little motivation to switch. 🫤
RIP Vim 😢 https://hachyderm.io/@AndrewRadev/116175986749599825 https://github.com/vim/vim/pull/19413#issuecomment-4000394026
FreeBSD 14.4-RC1 Adds Emacs, Vim & More To DVD Images
For those on the current FreeBSD 14 series with no immediate plans to move to FreeBSD 15 that debuted at the end of 2025, FreeBSD developers have been preparing for the release of FreeBSD 14.4. Released overnight was the first release candidate of FreeBSD 14.4… ⌘ Read more
Vim 9.2 Released
“More than two years after the last major 9.1 release, the Vim project has announced Vim 9.2,” reports the blog Linuxiac:
A big part of this update focuses on improving Vim9 Script as Vim 9.2 adds support for enums, generic functions, and tuple types.
On top of that, you can now use built-in functions as methods, and class handling includes features like protected constructors with _new(). The :defcompile command has also been impro … ⌘ Read more
Vim 9.2 Released With Experimental Wayland Support, Better HiDPI Display Support
Vim 9.2 is out today as the newest feature release for this robust and comprehensive text editor. This Valentine’s Day release for Vim lovers brings experimental Wayland support, XDG Base Directory specification support, modernized defaults for HiDPI displays, new completion features, and an improved diff mode… ⌘ Read more
I can’t remember if the hex viewer back then had these options. Don’t even recall what software that was. :-)
The one that I used during my Windows 95 days was “Hex Workshop”. It had similar features, just not as promimently displayed. It shows them down there in the statusline as “Value”:

Newer versions can probably do more, haven’t checked. 😅 (Assuming this program still exists.)
Apart from selecting text to copy into the clipboard. But that probably has the potential for trouble and interference with button clicks, etc.
Yeah, that’s a big problem: Once you activate mouse mode in the terminal, the terminal loses the ability to select text. 😞 You’d either have to emulate that in the program itself (like Vim does) or give the user an easy way to turn mouse support on/off during runtime.
How did the startup times develop?
They’re pretty stable at around 230 ms on my old NUC. It’s just fast enough so that it doesn’t annoy me.
go install ./cmd/mu-lsp/... and install the VS extension and hey presto 🥳 You get outlines of any Mu source, Find References and Go to Definition!
@prologic@twtxt.net Reminds me to have another look at LSP. Last time I checked, it was super messy in Vim. 🤔
@movq@www.uninformativ.de Vim 9 (script) From Outer Space
for the record, I am not using Vim as a terminal
```-/oshdmNMNdhyo+:-`
y/s+:-`` `.-:+oydNMMMMNhs/-``
-m+NMMMMMMMMMMMMMMMMMMMNdhmNMMMmdhs+/-`
-m+NMMMMMMMMMMMMMMMMMMMMmy+:`
-N/dMMMMMMMMMMMMMMMds:`
-N/hMMMMMMMMMmho:`
-N/-:/++/:.`
:M+
:Mo
:Ms
:Ms
:Ms
:Ms
:Ms
:Ms
:Ms
:Ms
shinyoukai@madoka-usb-mk2
-------------------------
OS: NetBSD 10.1 amd64
Host: Exomate X352 (MP PV)
Kernel: NetBSD 10.1
Uptime: 8 hours, 46 mins
Packages: 172 (pkgsrc)
Shell: sh
Display (CPT1BBD): 1024x600 @ 60 Hz in 10"
Terminal: vim
CPU: Intel(R) Atom(TM) N450 (2) @ 1.67 GHz
GPU 1: Intel Device A011 (VGA compatible)
GPU 2: Intel Device A012
Memory: 761.14 MiB / 955.69 MiB (80%)
Swap: Disabled
Disk (/): 5.20 GiB / 26.84 GiB (19%) - ffs
Local IP (iwn0): (classified information)
Battery: 28% [Charging, AC Connected]
Locale: C.UTF-8
H… Ho… How have I not heard about vim-tagbar before? 😳
Pointers to making Universal Ctags work with the latest versions of Scheme (r6rs and r7rs) ⌘ Read more
Made a small coc.nvim extension for zsh completion ⌘ Read more
vim + ollama + oh-my-zsh + alacritty + dotfiles better than Cursor xD ⌘ Read more