{"id":13424791,"url":"https://github.com/dofy/learn-vim","last_synced_at":"2025-10-08T11:43:26.853Z","repository":{"id":41371467,"uuid":"49559619","full_name":"dofy/learn-vim","owner":"dofy","description":"Learning Vim. A Hands-On Tutorial of Vim.","archived":false,"fork":false,"pushed_at":"2023-11-30T14:53:53.000Z","size":164,"stargazers_count":1708,"open_issues_count":1,"forks_count":238,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-05-22T16:09:12.094Z","etag":null,"topics":["beginner","book","chinese","editor","education","learning","programming","tips","tutorial","vi","vim"],"latest_commit_sha":null,"homepage":"https://dofy.gitbook.io/learn-vim/","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dofy.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-01-13T08:14:10.000Z","updated_at":"2025-05-21T15:21:55.000Z","dependencies_parsed_at":"2023-11-15T05:29:10.578Z","dependency_job_id":"3f79314f-982e-47bb-bb77-18fe176cc0b6","html_url":"https://github.com/dofy/learn-vim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dofy/learn-vim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dofy%2Flearn-vim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dofy%2Flearn-vim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dofy%2Flearn-vim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dofy%2Flearn-vim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dofy","download_url":"https://codeload.github.com/dofy/learn-vim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dofy%2Flearn-vim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278937791,"owners_count":26072183,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["beginner","book","chinese","editor","education","learning","programming","tips","tutorial","vi","vim"],"created_at":"2024-07-31T00:00:59.549Z","updated_at":"2025-10-08T11:43:26.811Z","avatar_url":"https://github.com/dofy.png","language":"Vim Script","readme":"# Vim Hands-On Tutorial (Learning Vi and Vims)\n\n![GitHub Repo stars](https://img.shields.io/github/stars/dofy/learn-vim)\n![GitHub](https://img.shields.io/github/license/dofy/learn-vim)\n![GitHub contributors](https://img.shields.io/github/contributors/dofy/learn-vim)\n![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/m/dofy/learn-vim)\n\n[🇺🇸 English](en/README.md) | [🇨🇳 简体中文](zh-CN/README.md)\n\n## Intro\n\nIn my personal experience of learning Vim, it is very difficult to learn Vim by\nreading documentation or watching other people operate it. You have to be in the\nreal world, in real scenarios, to familiarize yourself with the commands and\nmaster them.\n\nTherefore, to meet the needs of learning and operating at the same time, all the\nfiles in the project are in Markdown format, which can be read as an explanation\ndocument, and can also be opened in Vim. You can read it as an explanatory\ndocument, and you can also use Vim to open the files for actual operation (the\nlatter is recommended).\n\n## How to Use\n\n1. clone project to local\n\n```bash\ngit clone https://github.com/dofy/learn-vim.git\n```\n\n2. go to the project folder\n\n```bash\ncd learn-vim/en\n```\n\n3. open the file `chapter01.md` in Vim\n\n```bash\nvim chapter01.md\n```\n\n## Formatting Rules\n\n```Markdown\n\n## Major titles represent a large category\n\n### Subtitles represent subcategories under this major category\n\nText without any formatting is a normal description for reading purposes only.\n\n\u003e The text embedded in the quoted block is an instruction to operate, and you\n\u003e can follow what is mentioned in it\n\u003e\n\u003e Also operators or commands are included in symbols like `:w`.\n\nThe \u003c and \u003e in commands such as f\u003cX\u003e do not need to be typed, \u003cX\u003e represents a\nvariable, i.e. you can type fa or fb or fC\n\n_Note: Commands are case-sensitive (matters requiring attention appear in\nsymbols such as the current line)_\n\n```\n\n\u003e [!NOTE]\n\u003e\n\u003e If you already have your own `.vimrc` file (refer to\n\u003e [Chapter 4](en/chapter04.md)) and have changed some of the defaults in it, it\n\u003e may cause some operations to not match the tutorial. In this case, you can run\n\u003e `Vim` with the following command:\n\u003e\n\u003e ```bash\n\u003e # Do not load the configuration file\n\u003e vim -u NONE\n\u003e # Load a specific configuration file\n\u003e vim -u \u003cfilename\u003e\n\u003e ```\n\n## Index\n\n### Basic operations\n\n1. [Chapter 1: Cursor Movement](en/chapter01.md)\n1. [Chapter 2: Opening Files, Finding Content](en/chapter02.md)\n1. [Chapter 3: Modify and Save Documents](en/chapter03.md)\n1. [Chapter 4: Some Tips](en/chapter04.md)\n1. [Chapter 5: Split Screen and Tabs](en/chapter05.md)\n1. [Chapter 6: Block Operations](en/chapter06.md)\n1. [Chapter 7: Macros in Vim](en/chapter07.md)\n\n### Additional content\n\n1. [Vim Modes](en/vim-modes.md)\n1. [Vim plugins](en/plugin.md)\n1. [Plugin Recommendations](en/plugins/index.md)\n   1. [NERDTree](en/plugins/nerdtree.md)\n   1. [EasyAlign](en/plugins/easyalign.md)\n   1. [Airline \u0026 Themes](en/plugins/airline.md)\n   1. [surround.vim](en/plugins/surround.md)\n\n\u003e [!NOTE]\n\u003e\n\u003e - In the tutorials, you can navigate to the next chapter or related chapters,\n\u003e   and locate the file name to open it by executing `gf` (goto file). Related\n\u003e   files\n\u003e - You can always open the relevant chapter to view, and then use `:bp` to go\n\u003e   back to the previous file (this command will (This command is covered in\n\u003e   [Chapter 2](en/chapter02.md)).\n\u003e - You may get a file not saved error when you exit the tutorial with `:q` or\n\u003e   `:qa`, try adding `!` to the end of the command!\n\n## Recommend a few Vim configurations\n\n- [dofy / **7th-vim**][7th-vim]\n- [kepbod / **ivim**][kepbod]\n- [chxuan / **vimplus**][chxuan]\n- [SpaceVim / **SpaceVim**][spacevim]\n\n## Recommends a couple of other excellent Vim tutorials\n\n- Run `vimtutor` on the console. This is the official hands-on tutorial for Vim.\n- [Concise Vim Practice Tips][coolshell] Great tutorial to get started!\n- [Vim Galore][vimgalore] Frequently updated, a must-read for Vim.\n- [Daily Vim][liuzhijun] 30 articles, the content is more complete!\n- [A book for learning the Vim editor][learnvim] Another Learn Vim (English)\n- [Open Vim][openvim] Interactive Vim Tutorials\n- [QuickRef.ME/vim][quickref] Vim cheatsheet\n\n## Cheatsheets\n\n\u003e [Vim Cheat Sheet][cheatsheets1]\n\n\u003e [A Great Vim Cheat Sheet][cheatsheets2]\n\n\u003e [![003][cheatsheets3]][cheatsheets3]\n\n\u003e [![004][cheatsheets4]][cheatsheets4]\n\n\u003e [![005][cheatsheets5]][cheatsheets5]\n\n## Star History\n\n[![Star History Chart][star-history-chart]][star-history]\n\n**Thanks again for your interest! If you love, please share. Love life, love\nVIM!**\n\n[7th-vim]: https://github.com/dofy/7th-vim\n[kepbod]: https://github.com/kepbod/ivim\n[chxuan]: https://github.com/chxuan/vimplus\n[spacevim]: https://github.com/SpaceVim/SpaceVim\n[coolshell]: http://coolshell.cn/articles/5426.html\n[vimgalore]: https://github.com/mhinz/vim-galore\n[liuzhijun]: http://liuzhijun.iteye.com/category/270228\n[learnvim]: https://github.com/iggredible/Learn-Vim\n[openvim]: https://openvim.com/\n[quickref]: https://quickref.me/vim\n[cheatsheets1]: https://vim.rtorr.com/lang/zh_tw\n[cheatsheets2]: https://vimsheet.com/\n[cheatsheets3]: https://people.csail.mit.edu/vgod/vim/vim-cheat-sheet-en.png\n[cheatsheets4]: https://cdn.shopify.com/s/files/1/0165/4168/files/preview.png\n[cheatsheets5]:\n  https://michael.peopleofhonoronly.com/vim/vim_cheat_sheet_for_programmers_screen.png\n[star-history]: https://star-history.com/#dofy/learn-vim\u0026Date\n[star-history-chart]:\n  https://api.star-history.com/svg?repos=dofy/learn-vim\u0026type=Date\n","funding_links":[],"categories":["Vim","Vim Script","JavaScript","Learning Vim","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdofy%2Flearn-vim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdofy%2Flearn-vim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdofy%2Flearn-vim/lists"}