some more cli rennasance work.

This commit is contained in:
Gabe Venberg 2024-07-29 17:43:15 -05:00
parent 849473f9b4
commit fb44be7ee5
4 changed files with 27 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

View file

@ -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 ### 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.
<!-- look at zellij and helix and their built in keymap cheatsheets--> <!-- look at zellij and helix and their built in keymap cheatsheets-->
### Common usecases should be easy ### 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` (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)) (there are similar rules for C++ and linking))
and file modification time laziness 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, 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. but another major use of make that has emerged has been as a way to run common tasks.

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB