diff --git a/content/posts/clirenaissance/helix_command_autocomplete.png b/content/posts/clirenaissance/helix_command_autocomplete.png new file mode 100644 index 0000000..79493d5 Binary files /dev/null and b/content/posts/clirenaissance/helix_command_autocomplete.png differ diff --git a/content/posts/clirenaissance/helix_contextual_hint.png b/content/posts/clirenaissance/helix_contextual_hint.png new file mode 100644 index 0000000..d665a3e Binary files /dev/null and b/content/posts/clirenaissance/helix_contextual_hint.png differ diff --git a/content/posts/clirenaissance/index.md b/content/posts/clirenaissance/index.md index 2ca309d..528ff77 100644 --- a/content/posts/clirenaissance/index.md +++ b/content/posts/clirenaissance/index.md @@ -214,6 +214,32 @@ but its an extremely usable IDE out of the box thanks to having all of its featu ### Concise and discoverable documentation +In my nvim config, I use [which-key](https://github.com/folke/which-key.nvim), +a plugin that displays available keybindings as you type. +Ive been using vim for almost a decade, including a long time without which-key, +so its not like I never learned the keybindings, but I still find which-key useful. +Why is that, you may ask? +Well, because even though I use (n)vim every day, I dont use all the keybindings every day. +I might go months between using, for example, `dap` (delete current paragraph), or `C-w x` (swap current window for next). +Naturally, when you go months without using certain parts of a program, you tend to forget they exist. +Which-key solves that handily, by offering quick, non-intrusive reminders of what is availible. +Heres what my which-key config looks like: + +![Which-key.nvim](nvim_which_key.png) + +Now, which-key and its like have been around for a while, +but other TUI programs have integreated contextual hints without the need for a plugin. +The two that I am aware of are zellij and helix. + +![Helix's contextual hint](helix_contextual_hint.png) + +Helix both has autocompletion for its built in command line and a contextual hint that appears when you press the first key in a multi key combo. +This drastically helps both new and experienced users learn and remember keybinds without making the editor any less powerful. + +Zellij has a bottom bar displaying keybindings available in the current mode. +This has proven invaluable for me, as I dont use a terminal multiplexer much +(On GUI systems, I use the window manager for managing multiple terminals), and as such tend to forget the keybinds. + ### Common usecases should be easy @@ -249,7 +275,7 @@ As such, it includes features such as implicit rules (if a file called `foo.o` is needed and there is no explicit rule is there, the C compiler will be invoked on the file `foo.c` (there are similar rules for C++ and linking)) and file modification time laziness -(fantastic as a build system, needs liberal sprinkling of `.PHONY` rules when used as a task runner). +(fantastic for a build system, needs liberal sprinkling of `.PHONY` rules when used as a task runner). These features are *good* features when make is being used as a build system, but another major use of make that has emerged has been as a way to run common tasks. diff --git a/content/posts/clirenaissance/nvim_which_key.png b/content/posts/clirenaissance/nvim_which_key.png new file mode 100644 index 0000000..b14e44d Binary files /dev/null and b/content/posts/clirenaissance/nvim_which_key.png differ