schilk happens



Stuff: nvim

NVIM: Writing Complex Macros / Transforms in Lua

Sunday, 06 September 2026    Last Updated: 08 September 2026    Tags: nvim, rtl

(Neo)Vim's macro system is a very powerful tool for quickly applying a sequence of transformations over and over again. However, in some rare cases, I find myself wanting a more generic way of expressing such text transforms, with support for conditionals and logic.

This post shows how it is quite simple to write such transforms as Lua functions, and register them both as visual mode mappings and user commands.

Read More...

Working with external warnings and diagnostics in NVIM

Tuesday, 20 January 2026    Last Updated: 12 August 2026    Tags: nvim, rtl

Compilers and tools in the VLSI and RTL world often produce a very large number of warnings and errors when run. I was interested in being able to quickly see and navigate all these diagnostics directly in (Neo)Vim.

This is easily achievable using the :make command and compiler plugins, or by manually generating diagnostics with a lua script.

Read More...

Managing project-specific NVIM configuration

Monday, 19 January 2026    Last Updated: 12 March 2026    Tags: nvim

While my neovim configuration works out of the box for most of my projects, I have increasingly encountered situations where I need to adjust certain aspects on a per-project basis.

As with anything related to neovim configuration there are about 50 different ways this can be achieved, and because neovim is usually configured with executable code instead of declarative config files, there are a few gotchas that might not be immediately obvious.

Read More...