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 C-c: 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-h: Display a help menuC-g: 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-g: Quit prompt with failurey: (Confirmation prompts) quit prompt with successn: (Confirmation prompts) quit prompt with failureRET: (Text prompts) quit prompt with successC-f: (Text prompts) move right one characterC-b: (Text prompts) move left one characterC-a: (Text prompts) move to the start of the promptC-e: (Text prompts) move to the end of the promptM-f: (Text prompts) move forward one wordM-b: (Text prompts) move backward one wordC-d: (Text prompts) delete the character in front of the cursorBACKSPC: (Text prompts) delete the character behind the cursor (handling
smart parens)M-BACKSPC: (Text prompts) delete the word behind the cursor(: (Text prompts) insert a smart left-paren[: (Text prompts) insert a smart left-bracket{: (Text prompts) insert a smart left-brace": (Text prompts) insert a smart double-quotenimped 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, you can install the binary to the system:
You will also need the user config installed to your $HOME/.config
directory in order to use nimped. Alternatively, you can use the -o option to
open configuration from a local directory. However, if you wish to install
config to your user home, run:
(See the README.md file for information regarding installing themes and
uninstalling nimped from your system).
The user configuration can 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:
This work by tirimid is licensed under CC BY-SA 4.0