ep_vim 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +674 -0
- package/README.md +29 -0
- package/ep.json +15 -0
- package/index.js +8 -0
- package/package.json +30 -0
- package/static/css/vim.css +11 -0
- package/static/js/index.js +1173 -0
- package/templates/editbarButtons.ejs +10 -0
package/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# ep_vim
|
|
2
|
+
|
|
3
|
+
A vim-mode plugin for [Etherpad](https://etherpad.org/). Adds modal editing with normal, insert, and visual modes to the pad editor. Mostly vibe coded with [Claude Code](https://claude.ai/claude-code).
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Modal editing** — normal, insert, and visual (char + line) modes
|
|
8
|
+
- **Motions** — `h` `j` `k` `l`, `w` `b` `e`, `0` `$` `^`, `gg` `G`, `f`/`F`/`t`/`T` char search
|
|
9
|
+
- **Operators** — `d`, `c`, `y` with motion combinations (`dw`, `ce`, `y$`, etc.)
|
|
10
|
+
- **Line operations** — `dd`, `cc`, `yy`, `J` (join), `Y` (yank line)
|
|
11
|
+
- **Put** — `p` / `P` with linewise and characterwise register handling
|
|
12
|
+
- **Editing** — `x`, `r`, `s`, `S`, `C`, `o`, `O`
|
|
13
|
+
- **Marks** — `m{a-z}` to set, `'{a-z}` / `` `{a-z} `` to jump
|
|
14
|
+
- **Counts** — numeric prefixes work with motions and operators
|
|
15
|
+
- **Undo** — `u`
|
|
16
|
+
- **Toggle** — toolbar button to enable/disable vim mode, persisted in localStorage
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
Clone or symlink into your Etherpad plugins directory, then install:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
pnpm install ep_vim
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## License
|
|
28
|
+
|
|
29
|
+
GPL-3.0
|
package/ep.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"parts": [
|
|
3
|
+
{
|
|
4
|
+
"name": "main",
|
|
5
|
+
"client_hooks": {
|
|
6
|
+
"aceKeyEvent": "ep_vim/static/js/index",
|
|
7
|
+
"aceEditorCSS": "ep_vim/static/js/index",
|
|
8
|
+
"postToolbarInit": "ep_vim/static/js/index"
|
|
9
|
+
},
|
|
10
|
+
"hooks": {
|
|
11
|
+
"eejsBlock_editbarMenuLeft": "ep_vim/index"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
package/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ep_vim",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Vim-mode plugin for Etherpad with modal editing, motions, and operators",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Seth Rothschild",
|
|
7
|
+
"email": "seth.j.rothschild@gmail.com"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [
|
|
10
|
+
"etherpad",
|
|
11
|
+
"plugin",
|
|
12
|
+
"ep",
|
|
13
|
+
"vim"
|
|
14
|
+
],
|
|
15
|
+
"license": "GPL-3.0",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/Seth-Rothschild/ep_vim.git"
|
|
19
|
+
},
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/Seth-Rothschild/ep_vim/issues"
|
|
22
|
+
},
|
|
23
|
+
"homepage": "https://github.com/Seth-Rothschild/ep_vim",
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"ep_etherpad-lite": ">=1.8.6"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=20.0.0"
|
|
29
|
+
}
|
|
30
|
+
}
|