https://github.com/rsvim/ex.rsvim
Builtin ex commands for Rsvim.
https://github.com/rsvim/ex.rsvim
rsvim
Last synced: 4 months ago
JSON representation
Builtin ex commands for Rsvim.
- Host: GitHub
- URL: https://github.com/rsvim/ex.rsvim
- Owner: rsvim
- License: vim
- Created: 2025-08-29T09:15:08.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-11-03T09:36:21.000Z (8 months ago)
- Last Synced: 2025-12-19T00:25:01.864Z (6 months ago)
- Topics: rsvim
- Language: TypeScript
- Homepage:
- Size: 43.9 KB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ex.rsvim
## About
Implements [Vim](https://www.vim.org/)'s builtin [ex commands](https://vimhelp.org/index.txt.html#index.txt) for Rsvim, provide a compatible user experience in command-line.
## Installation
First go to Rsvim config home directory:
```bash
# use $XDG_CONFIG_HOME
cd $XDG_CONFIG_HOME/rsvim
# or use $HOME
cd $HOME/.rsvim
```
Then install with either git or npm.
> [!TIP]
> **Which version should I use?**
>
> - For release version of Rsvim, use a "x.y.?" branch (for git) or the latest "x.y.?" version (for npm), for example use "v0.1.x" branch for Rsvim v0.1.2.
> - For nightly or main branch of Rsvim, use "main" branch since this plugin is consistent with Rsvim's main branch.
### git
```bash
# version branch
git clone --branch=v0.1.x https://github.com/rsvim/ex.rsvim @rsvim/ex.rsvim
# or main branch
git clone https://github.com/rsvim/ex.rsvim @rsvim/ex.rsvim
```
### npm
```bash
# tagged version
npm install @rsvim/ex.rsvim@v0.1.0
# or latest version
npm install @rsvim/ex.rsvim
```
## Setup
Setup in your config entry script:
```javascript
import ex from "@rsvim/ex.rsvim";
ex.setup();
```
The `setup` function accepts an optional object, by default is:
https://github.com/rsvim/ex.rsvim/blob/1f09822850f2d70af712c7d62eb5b08c84c647e2/src/index.ts?plain=1#L32-L36
You can pass your custom options when setup:
```javascript
import ex from "@rsvim/ex.rsvim";
ex.setup({
// Your configurations here...
});
```
## Command Index
There are a lot of ex commands, which cannot be done all at once. This section trace the status of each command with below symbols:
- ✅ Almost compatible
- 🔰 Basically usable
- 🚧 Working in Progress
- 🔴 Missing
| Status | Command | Alias | Description | Since Version |
| ------ | ------- | ----- | --------------------------------- | ------------- |
| 🔰 | `quit` | `q` | Quit editor | v0.1.x |
| 🔰 | `write` | `w` | Save current buffer to filesystem | v0.1.x |
## Contribution
Contributions are always welcomed :)
### Project Structure
```
|-lib // Compiled javascript files
|-src // Typescript source files
|-types // Typescript type declarations
```
> [!WARNING]
> Please **DO NOT** manually edit files under `lib` and `types`.
### Development Environment
Please setup the development environment with:
1. Install [mise](https://github.com/jdx/mise).
2. Run `mise i` to install python, node and other npm cli tools.
3. Run `npm i` to install dependencies.
Here are some useful tools:
- `npm run prettier`: Format source code.
- `npm run tsc`: Compile typescript to javascript and `.d.ts` declarations.
## Supporting the Project
If you like RSVIM, please consider sponsoring it. Your support encourages contributors and maintainers of this project, and other fees or efforts spent on it.
- [GitHub Sponsor](https://github.com/sponsors/rsvim)
- [Open Collective](https://opencollective.com/rsvim)
## License
Licensed under [Vim License](https://github.com/rsvim/ex.rsvim/blob/main/LICENSE.txt).