Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toplan/vim.js
:v:simple vim for textarea and input
https://github.com/toplan/vim.js
vi vim
Last synced: about 6 hours ago
JSON representation
:v:simple vim for textarea and input
- Host: GitHub
- URL: https://github.com/toplan/vim.js
- Owner: toplan
- Created: 2015-08-12T07:03:38.000Z (over 9 years ago)
- Default Branch: master-dev
- Last Pushed: 2017-02-20T04:25:15.000Z (over 7 years ago)
- Last Synced: 2024-11-15T04:44:52.749Z (1 day ago)
- Topics: vi, vim
- Language: JavaScript
- Homepage: http://toplan.github.io/vimjs/
- Size: 121 KB
- Stars: 99
- Watchers: 5
- Forks: 17
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Intro
Simple and lightweight Vim for web `textarea` and `input` field, to improve writing experience on web.
[Demo here](http://toplan.github.io/vimjs/index.html)
**Note:**
* This project is not to replace powerful IDEs on web pages,
but rather as a web side writing(such as blogging, writing notes, ect.) of enhancements.* This project is in development, there will be some improvements and new features.
* Please use the vim instructions in the English input method.
![demo gif](http://7o503b.com1.z0.glb.clouddn.com/demo.gif)
[中文文档](https://github.com/toplan/Vim.js/blob/master-dev/README_CN.md)
# Usage
The `vim.min.js` only 19kb, and no any dependencies.
```html
vim.open({
debug : true,
showMsg : function(msg){
alert('vim.js say:' + msg);
}
});```
# Building
```
//install
npm install vim.js//watch
npm run dev//build
npm run build//build min js file
npm run build_min
```# Browser support
* Chrome v39
* Firefox v34, v40
* Safari**Note:** Whether to support other browsers still unknown
# Features
## 1. general mode
| Command | Description |
| ----- | ----------------------- |
| Esc | switch to general mode |
| u | returned to the previous operation |
| Move the cursor : |
| h or ← | move left one character |
| j or ↓ | move down one line |
| k or ↑ | move up one line |
| l or → | move right one character |
| supported nh,nj,nk,nl |
| 0 or [HOME]| move to head of line |
| $ or [End] | move to end of line |
| G | go to end |
| gg | go to first line |
| delete, copy and paste: |
| x or [Delete] | delete single character |
| nx or n[Delete] | delete `n` characters |
| yy | copy current line |
| nyy | copy `n` lines |
| dd | delete current line |
| ndd | delete `n` lines |
| p,P | `p` paste after,`P` paste before|
| w or W | move to next word |
| supported nw and nW |
| yw | copy one word |
| nyw | copy `n` words |
| dw | delete one word |
| ndw | delete `n` words |## 2. edit mode
| Command | Description |
| ----- | ----------------------- |
| i | insert |
| I | insert line head |
| a | append |
| A | append line tail|
| o | open line below and enter edit mode |
| O | open line after and enter edit mode |
| r | replace one character |## 3. visual mode
| Command | Description |
| ----- | ----------------------- |
| v or V | switch ot visual mode |
| y | copy the selected text |
| x or d | delete the selected text|