pi-vim 0.1.7 → 0.1.8

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.
Files changed (3) hide show
  1. package/README.md +3 -1
  2. package/index.ts +8 -2
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -63,7 +63,9 @@ A `{count}` prefix can be prepended to any navigation key (max: `9999`).
63
63
  | `0` | Line start |
64
64
  | `$` | Line end |
65
65
  | `gg` | Buffer start (line 1) |
66
+ | `{count}gg` | Go to line `{count}` (1-indexed, clamped) |
66
67
  | `G` | Buffer end (last line) |
68
+ | `{count}G` | Go to line `{count}` (1-indexed, clamped) |
67
69
  | `w` | Next `word` start (keyword/punctuation aware) |
68
70
  | `b` | Previous `word` start |
69
71
  | `e` | `word` end (inclusive) |
@@ -274,7 +276,7 @@ These are **explicitly deferred** and not planned for this feature:
274
276
  - Ex command surface (`:s`, `:g`, `:r`, …)
275
277
  - Search mode (`/`, `?`, `n`, `N`)
276
278
  - Repeat (`.`)
277
- - Extended count prefix beyond currently supported motions (e.g. counted `gg`, `:`, global operator counts)
279
+ - Extended count prefix beyond currently supported motions (e.g. `:`, global operator counts)
278
280
  - Redo (`<C-r>`) — no native redo primitive in the underlying readline editor;
279
281
  deferred until a suitable hook is available.
280
282
  - Window / tab / buffer management
package/index.ts CHANGED
@@ -573,8 +573,8 @@ export class ModalEditor extends CustomEditor {
573
573
 
574
574
  if (!hadGCount) {
575
575
  if (data === "g") {
576
- this.takeTotalCount(1);
577
- this.moveCursorToBufferStart();
576
+ const count = this.takeTotalCount(1);
577
+ this.moveCursorToLineStart(count - 1);
578
578
  return;
579
579
  }
580
580
 
@@ -610,6 +610,12 @@ export class ModalEditor extends CustomEditor {
610
610
  return;
611
611
  }
612
612
 
613
+ if (data === "G") {
614
+ const count = this.takeTotalCount(1);
615
+ this.moveCursorToLineStart(count - 1);
616
+ return;
617
+ }
618
+
613
619
  const supportsCountedStandaloneEdit = (
614
620
  data === "x"
615
621
  || data === "s"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-vim",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Vim-style modal editing for Pi's TUI editor",
5
5
  "type": "module",
6
6
  "keywords": [