Vim mode for pi.
Normal, insert, visual, and replace modes with motions, text objects, yank/put, and undo/redo.
pi install npm:@leohenon/pi-vimToggle with:
/vim-mode
Esc/Ctrl-[→ normal modeShift+Alt+A→ line endShift+Alt+I→ line startAlt+o→ open line belowAlt+Shift+O→ open line above
i,a,I,Ao,Ov→ visualV→ visual lineR→ replace
h,j,k,lw,b,eW,B,E0,^,_,$gg,Gf,F,t,T;,,- counts on motions
dd,dw,de,db,dW,dE,dBd0,d^,d$,d_,dGd{count}j,d{count}kdf,dF,dt,dTdiw,daw,di",da",di',da',di`,da`,di(,da(,di[,da[,di{,da{
cc,cw,ce,cb,cW,cE,cBc0,c^,c$,c_cf,cF,ct,cTciw,caw,ci",ca",ci',ca',ci`,ca`,ci(,ca(,ci[,ca[,ci{,ca{
yy,Yyw,ye,yb,yW,yE,yBy0,y^,y$,y_,yGy{count}j,y{count}kyfyiw,yaw,yi",ya",yi',ya',yi`,ya`,yi(,ya(,yi[,ya[,yi{,ya{
x,s,Sr{char}R→ replace mode~→ toggle caseD,C- counts on
x,r,~
p,P- counts on
p,P
u,Ctrl-_Ctrl-r- counts on undo/redo
venters visual modeEscexits to normal moded/xdelete selectionyyank selectioncchange selectionp,Preplace selection with unnamed register
Venters visual line modej,kextend by full linesEscexits to normal moded/xdelete selected linesyyank selected linescchange selected linesp,Preplace selected lines
Note
yanks and puts use an internal unnamed register, not the system clipboard
pi-vim/
index.ts
package.json
README.md
Note
If you run into any bugs, please open an issue.
MIT
