some more cli rennasance work.
This commit is contained in:
parent
849473f9b4
commit
fb44be7ee5
BIN
content/posts/clirenaissance/helix_command_autocomplete.png
Normal file
BIN
content/posts/clirenaissance/helix_command_autocomplete.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 212 KiB |
BIN
content/posts/clirenaissance/helix_contextual_hint.png
Normal file
BIN
content/posts/clirenaissance/helix_contextual_hint.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 217 KiB |
|
@ -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.
|
||||||
|
|
BIN
content/posts/clirenaissance/nvim_which_key.png
Normal file
BIN
content/posts/clirenaissance/nvim_which_key.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 217 KiB |
Loading…
Reference in a new issue