v1.0.0: tab path autocomplete, malvim features, terminal history

various fixes, docs, some kanji and romaji font chars
This commit is contained in:
stjet
2025-03-16 05:56:00 +00:00
parent 22b21401f9
commit 668ce2ea6c
87 changed files with 171 additions and 73 deletions

View File

@@ -12,6 +12,8 @@ Type to write commands, backspace to delete last character, and enter to run com
- `p <dir / playlist file>`: Play audio files in `<dir>` or play the songs listed in the `<playlist file>`. Unless paths are absolute, they will be relative to the directory specified by the `b <dir>` command
- `a <dir / playlist file>`: Same as `p` but appends to the end of the queue instead of clearing the current song and the queue
Tab completion is supported for the `<dir>` and `<dir / playlist file>` arguments.
## Playlists
Example playlist file:

View File

@@ -1,4 +1,6 @@
A text editor. Specifically, a subset of a vim.
A text/code editor. Specifically, a subset of vim.
Funnily enough, that subset doesn't include the **vi**sual (ie, multi-line) capabilities of vim that the "vi" stands for. Perhaps it should be called "maled"?
## Usage
@@ -6,11 +8,13 @@ It is probably best to read a Vim tutorial for the basics. All supportd keystrok
### Supported in Command-line Mode
- `e[dit]`
- `t[abe]`, `[tab]n`, `[tab]p`
- `e[dit] <file>`
- `t[abe] <file>`, `[tab]n`, `[tab]p`
- `q[uit]`
- `w[rite]`
Tab completion is supported for the `<file>` argument.
### Supported in Normal Mode
- `:`
@@ -26,8 +30,9 @@ It is probably best to read a Vim tutorial for the basics. All supportd keystrok
- `F<char>`
- `x`
- `h`, `j`, `k`, `l`
- `<num>h`, `<num>j`, `<num>k`, `<num>l`
- `0`, `^`, `$`
### Malvim Specific
In Command-line Mode, `autoindent` can be done to toggle auto-indenting (when making new line in Insert Mode [ie, by hitting Enter/Return], space indentation of the new line will be the same as the space indentation of the current line).
In Command-line Mode, `autoindent` can be done to toggle auto-indenting (when making new line in Insert Mode [ie, by hitting Enter/Return], space indentation of the new line will be the same as the space indentation of the current line). **Toggling on `autoindent` is highly recommended when editing code.**

View File

@@ -8,13 +8,17 @@ The terminal starts off in INPUT mode, which allows entering commands to run. If
In INPUT mode, commands can be freely typed. There are a few special control sequences:
- `ctrl+p`: Brings up the last run command to the command input
- `ctrl+n`: Clears the command input
- `ctrl+p`: Equivalent to the up arrow in most terminals. Brings up the previous command in the command history, and so on.
- `ctrl+n`: Equivalent to the down arrow in most terminals. Either clears the current input if not in a previous command, else brings up the next command in the command history.
Tab completion is also supported, though only for file/directory paths.
Once a command is entered, hit 'enter' to execute it. The terminal will change into "RUNNING" mode. In this mode, clicking any key except for 'i' will result in the terminal writing the current output of the running command to the window (`ctrl+c` will force the process to exit). It will also check if the command has exited, in which case the INPUT mode is returned to. Clicking the 'i' key will change the terminal to "STDIN" mode.
In STDIN mode, any keys typed followed by the 'enter' key will send those keys to the command's STDIN, if it is still running. To escape STDIN mode, use the `esc` key.
ANSI escape codes are currently not supported, and are stripped.
### Sudo
To get sudo to read from stdin, the `-S` option will need to be used (eg, `sudo -S ls`). Then switch to STDIN mode, type in the password and hit enter.
@@ -23,3 +27,6 @@ To get sudo to read from stdin, the `-S` option will need to be used (eg, `sudo
This window-like supports the paste [shortcut](../system/shortcuts.md) (`Alt+P`) if in INPUT or STDIN mode.
## Notes
Some commands like `git diff` don't quite work well yet. Also, some command outputs are very long, but the terminal doesn't really support scrolling. Instead, redirect the output of those commands to a file and read it in Malvim (eg `git diff > diff.txt`).