nimped stands for (N)ew and (Imp)roved Text (Ed)itor. The reason for this, is that it is my second personal text editor, improving upon medioed, which I made public and posted about on social media over a year ago. If you are not familiar with medioed, read about it here, or see the Reddit post here.
There are two main differences - simplifications and redesigns. In terms of redesigns, the most significant is that it is now modal (albeit, with only two real modes implemented). As for simplifications, I realized that a lot of what I did with medioed was unnecessary and was a much worse idea than I initially thought.
For example, with medioed I thought that separating frames from buffers would somehow be useful, enabling editing multiple places in a buffer at the same time. I quickly realized that I never do this, and it doesn't really help my workflow at all, but the damage was already done; and instead of redoing that system from the ground up, I just implemented safeguards to stop the user from making use of the capability. With this new text editor, I drew upon about a year and a half of experience with medioed to avoid making these mistakes.
There is now also a way to modify user configurations for stylistic things like tab size and theme colors without having to recompile the program every single time, as a dynamically loaded config file system was implemented.
Clone the repository from GitHub and cd
into it:
Then, build the nimped
binary:
After a successful build, install the binary to the system:
You will also need the user config installed to your $HOME/.config
directory in order to use nimped, so run:
(See the README.md
file for information regarding installing themes and
uninstalling nimped from your system).
The user configuration will be installed to $HOME/.config/nimped
. Inside,
you will find several conf files. Inspect these files for anything interesting;
in particular, you will find the following options in layout.conf
:
I point these out because these are probably the ones you'll most want to change.
After installing nimped, you can run it through the command line. The usage is as follows:
For specific usage information and help with command line flags, run:
h
: Move left one characterl
: Move right one characterj
: Move down one linek
: Move up one linea
: Move to the start of the current linee
: Move to the end of the current linef
: Move forward one wordb
: Move backward one wordC-x
: Quit nimpedC-n
: Create a new scratch frameC-f
: Create a frame from a fileC-k
: Kill the current frameC-s
: Save the contents of the current frame to a filen
: Goto the next framep
: Goto the previous framem
: Set the current frame as masteru
: Undo the last changes made to the frame/
: Search the frame forwards for literal text?
: Search the frame backwards for literal textc
: Copy the current lined
: Cut the current lineq c
: Copy a given number of linesq d
: Cut a given number of linesv
: Paste the clipboard contentsz
: Center the frame around the cursorg
: Goto a given lineF3
: Start recording a macroF4
: Stop recording / execute a macroi
: Enter write modeC-x
: Quit write modeC-d
: Delete the character in front of the cursorBACKSPC
: Delete the character behind the cursor (handling smart parens)M-BACKSPC
: Delete the word behind the cursorRET
: Insert a new line (handling indentation and smart parens)(
: Insert a smart left-paren[
: Insert a smart left-bracket{
: Insert a smart left-brace"
: Insert a smart double-quoteC-x
: Quit prompt with failureRET
: Quit prompt with successC-f
: Move right one characterC-b
: Move left one characterC-a
: Move to the start of the promptC-e
: Move to the end of the promptM-f
: Move forward one wordM-b
: Move backward one wordC-d
: Delete the character in front of the cursorBACKSPC
: Delete the character behind the cursor (handling smart parens)M-BACKSPC
: Delete the word behind the cursor(
: Insert a smart left-paren[
: Insert a smart left-bracket{
: Insert a smart left-brace"
: Insert a smart double-quote
This work by tirimid is licensed under CC BY-SA 4.0