ep_vim 0.6.1 → 0.9.1
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/.claude/settings.local.json +8 -0
- package/README.md +10 -3
- package/package.json +6 -6
- package/static/js/index.js +946 -686
- package/static/js/vim-core.js +207 -0
- package/static/js/vim-core.test.js +118 -0
package/README.md
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
# ep_vim
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/ep_vim)
|
|
4
|
+
[](https://github.com/Seth-Rothschild/ep_vim)
|
|
5
|
+
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
6
|
+
|
|
3
7
|
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
8
|
|
|
5
9
|
## Features
|
|
6
10
|
|
|
7
11
|
- **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
|
-
- **
|
|
12
|
+
- **Motions** — `h` `j` `k` `l`, `w` `b` `e`, `0` `$` `^`, `gg` `G`, `f`/`F`/`t`/`T` char search, `{` `}` paragraph forward/backward, `H` `M` `L` viewport (top/middle/bottom)
|
|
13
|
+
- **Char search** — `f`/`F`/`t`/`T` find, `;` repeat last search, `,` reverse direction
|
|
14
|
+
- **Bracket matching** — `%` jump to matching bracket
|
|
15
|
+
- **Text objects** — `iw`/`aw` (word), `i"`/`a"` and `i'`/`a'` (quotes), `i{`/`a{` etc. (brackets), `ip`/`ap` (paragraph), `is`/`as` (sentence)
|
|
16
|
+
- **Operators** — `d`, `c`, `y` with motion and text object combinations (`dw`, `ce`, `y$`, `ciw`, `da"`, `yi(`, etc.)
|
|
10
17
|
- **Line operations** — `dd`, `cc`, `yy`, `J` (join), `Y` (yank line)
|
|
11
18
|
- **Put** — `p` / `P` with linewise and characterwise register handling
|
|
12
|
-
- **Editing** — `x`, `r`, `s`, `S`, `C`, `o`, `O
|
|
19
|
+
- **Editing** — `x`, `r`, `s`, `S`, `C`, `o`, `O`, `~` (toggle case)
|
|
13
20
|
- **Marks** — `m{a-z}` to set, `'{a-z}` / `` `{a-z} `` to jump
|
|
14
21
|
- **Counts** — numeric prefixes work with motions and operators
|
|
15
22
|
- **Undo** — `u`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ep_vim",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Vim-mode plugin for Etherpad with modal editing, motions, and operators",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Seth Rothschild",
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"ep_etherpad-lite": ">=1.8.6"
|
|
26
26
|
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"test": "npm run format && node --test static/js/vim-core.test.js",
|
|
29
|
+
"format": "prettier -w static/js/*"
|
|
30
|
+
},
|
|
27
31
|
"engines": {
|
|
28
32
|
"node": ">=20.0.0"
|
|
29
33
|
},
|
|
30
34
|
"dependencies": {
|
|
31
35
|
"prettier": "^3.8.1"
|
|
32
|
-
},
|
|
33
|
-
"scripts": {
|
|
34
|
-
"test": "npm run format && node --test static/js/vim-core.test.js",
|
|
35
|
-
"format": "prettier -w static/js/*"
|
|
36
36
|
}
|
|
37
|
-
}
|
|
37
|
+
}
|