{"id":16712048,"url":"https://github.com/andys8/vim-emulation","last_synced_at":"2025-07-15T12:10:58.176Z","repository":{"id":51954833,"uuid":"181225680","full_name":"andys8/vim-emulation","owner":"andys8","description":"Vim emulation in the browser","archived":false,"fork":false,"pushed_at":"2021-05-08T19:31:01.000Z","size":2411,"stargazers_count":20,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T05:51:10.549Z","etag":null,"topics":["elm","vim"],"latest_commit_sha":null,"homepage":"https://andys8.github.io/vim-emulation/","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andys8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-13T20:32:53.000Z","updated_at":"2025-02-15T16:18:36.000Z","dependencies_parsed_at":"2022-08-23T18:41:19.843Z","dependency_job_id":null,"html_url":"https://github.com/andys8/vim-emulation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andys8/vim-emulation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fvim-emulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fvim-emulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fvim-emulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fvim-emulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andys8","download_url":"https://codeload.github.com/andys8/vim-emulation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andys8%2Fvim-emulation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265435040,"owners_count":23764643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elm","vim"],"created_at":"2024-10-12T20:28:12.186Z","updated_at":"2025-07-15T12:10:58.141Z","avatar_url":"https://github.com/andys8.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vim Emulation\n\n[Vim](https://www.vim.org) implemented in [Elm](https://elm-lang.org).\n[Give it a try!](https://andys8.github.io/vim-emulation)\n\n![Screenshot](screenshot-vim-in-elm.png)\n\n## Features\n\n### Basic Movement\n\n- \u003ckbd\u003eh\u003c/kbd\u003e \u003ckbd\u003el\u003c/kbd\u003e \u003ckbd\u003ek\u003c/kbd\u003e \u003ckbd\u003ej\u003c/kbd\u003e character left, right; line up, down\n- \u003ckbd\u003ew\u003c/kbd\u003e \u003ckbd\u003eW\u003c/kbd\u003e word/WORD right\n- \u003ckbd\u003eb\u003c/kbd\u003e \u003ckbd\u003eB\u003c/kbd\u003e word/WORD left\n- \u003ckbd\u003ee\u003c/kbd\u003e \u003ckbd\u003eE\u003c/kbd\u003e end of word/WORD right\n- \u003ckbd\u003e0\u003c/kbd\u003e beginning of line\n- \u003ckbd\u003e^\u003c/kbd\u003e first character of line\n- \u003ckbd\u003e$\u003c/kbd\u003e last character of line\n- \u003ckbd\u003eG\u003c/kbd\u003e last line\n- \u003ckbd\u003egg\u003c/kbd\u003e first line\n\n### Insertion \u0026 replace\n\n- \u003ckbd\u003ei\u003c/kbd\u003e \u003ckbd\u003ea\u003c/kbd\u003e\tinsert before, after cursor\n- \u003ckbd\u003eI\u003c/kbd\u003e \u003ckbd\u003eA\u003c/kbd\u003e\tinsert at beginning, end of line\n- \u003ckbd\u003eo\u003c/kbd\u003e \u003ckbd\u003eO\u003c/kbd\u003e\topen a new line below, above the current line\n- \u003ckbd\u003e\u003c\u003c\u003c/kbd\u003e \u003ckbd\u003e\u003e\u003e\u003c/kbd\u003e shift left, right\n- \u003ckbd\u003eS\u003c/kbd\u003e \u003ckbd\u003ecc\u003c/kbd\u003e change current line\n- \u003ckbd\u003eciw\u003c/kbd\u003e change text in word\n\n### Deletion\n\n- \u003ckbd\u003ex\u003c/kbd\u003e \u003ckbd\u003eDelete\u003c/kbd\u003e delete character under cursor\n- \u003ckbd\u003eX\u003c/kbd\u003e delete character before cursor\n- \u003ckbd\u003edd\u003c/kbd\u003e delete current line\n- \u003ckbd\u003ediw\u003c/kbd\u003e delete text in word\n\n### Copying\n\n- \u003ckbd\u003eyy\u003c/kbd\u003e \u003ckbd\u003eY\u003c/kbd\u003e yank current line\n- \u003ckbd\u003eyiw\u003c/kbd\u003e yank in word\n- \u003ckbd\u003ep\u003c/kbd\u003e put register after cursor position\n- \u003ckbd\u003eP\u003c/kbd\u003e put register before cursor position\n\n### Ex commands\n\n- \u003ckbd\u003e:q!\u003c/kbd\u003e quit and discard changes\n- \u003ckbd\u003e:w [file]\u003c/kbd\u003e save file\n- \u003ckbd\u003e:x [file]\u003c/kbd\u003e save file and exit\n- \u003ckbd\u003e:[n]\u003c/kbd\u003e jump to an absolute line number `[n]`\n- \u003ckbd\u003e:bd\u003c/kbd\u003e clear buffer\n\n### Undoing, repeating \u0026 registers\n\n- \u003ckbd\u003e.\u003c/kbd\u003e repeat last change\n\n## Further information\n\n- [Vim documentation: help](http://vimdoc.sourceforge.net/htmldoc)\n- [Vim Quick Reference Card](http://users.ece.utexas.edu/~adnan/vimqrc.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandys8%2Fvim-emulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandys8%2Fvim-emulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandys8%2Fvim-emulation/lists"}