{"id":23466328,"url":"https://github.com/yuesong-feng/easyvim","last_synced_at":"2025-07-05T09:36:41.855Z","repository":{"id":113249293,"uuid":"446460208","full_name":"yuesong-feng/EasyVim","owner":"yuesong-feng","description":"简单易用的vim配置","archived":false,"fork":false,"pushed_at":"2023-11-11T13:47:04.000Z","size":9697,"stargazers_count":13,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-14T11:50:07.149Z","etag":null,"topics":["vim","vim-configuration","vim-plugin","vimrc","vimscript"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuesong-feng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-10T14:40:03.000Z","updated_at":"2025-03-02T11:45:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"b0e74fc3-621b-4275-af53-9913915f0a45","html_url":"https://github.com/yuesong-feng/EasyVim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yuesong-feng/EasyVim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuesong-feng%2FEasyVim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuesong-feng%2FEasyVim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuesong-feng%2FEasyVim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuesong-feng%2FEasyVim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuesong-feng","download_url":"https://codeload.github.com/yuesong-feng/EasyVim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuesong-feng%2FEasyVim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263720099,"owners_count":23501170,"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":["vim","vim-configuration","vim-plugin","vimrc","vimscript"],"created_at":"2024-12-24T11:56:08.489Z","updated_at":"2025-07-05T09:36:41.840Z","avatar_url":"https://github.com/yuesong-feng.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyVim\n\nMake Vim easy to use.\n\nEasyVim is only for basic text/code browsing and simple code editing with minimal workload.\n\nIf you want to use tags to source your code, ctags is needed and universal-ctags is recommanded.\n\nIf you want to turn vim into an IDE, try EasyNvim.\n\nI've tried many lsp configurations in vim such as vim-lsp, ALE. They suck.\n\nIt will be a better idea to use NeoVim for heavy developing. Many configurations turn nvim into an IDE with excellent coding experience. EasyNvim is one of them.\n\n![EasyVim](./EasyVim.png)\n\n## Install\n\nInstallation will download plugins from github.\n\nA VPN may be needed in mainland China.\n\n```bash\ngit clone https://github.com/yuesong-feng/EasyVim.git\ncd EasyVim/\n./install.sh \nvim\n:PlugInstall\n```\n\n**下列快捷键可能随时有变动，以github主页上为准。**\n\n## 模式\n\n| 快捷键            | 原指令                           | 描述\n| -----             | -----                            | ----\n|                   | ESC或CTRL-[                      | 返回到命令模式\n|                   | i                                | 在光标位置插入\n|                   | a                                | 在光标后一个位置插入\n|                   | I                                | 在行首插入\n|                   | A                                | 在行尾插入\n|                   | o                                | 在下方新建一行并插入\n|                   | O                                | 在上方新建一行并插入\n|                   | s                                | 删除光标字符并插入\n|                   | S或cc                            | 删除光标所在行并插入\n|                   | v                                | 进入可视模式\n|                   | V                                | 进入可视行模式，此时会整行选中\n|                   | CTRL-V                           | 进入可视块模式，此时会竖行选中，按I进入列插入模式\n|                   | R                                | 进入替换模式\n|                   | gi                               | 在上一次插入模式的位置插入\n\n## 光标\n\n| 快捷键 | 原指令                     | 描述\n| -----  | -----                      | ----\n|        | [n]k或j或h或l              | 上下左右移动，前面的n表示移动多少单位\n|        | [n]w                       | 右移到下一个单词的开头\n|        | [n]e                       | 右移到当前或下一个单词的词尾\n|        | [n]b                       | 左移到当前或上一个单词的词头\n|        | [n]ge                      | 左移到上一个单词的词尾\n|        | [n]W或E或B或gE             | 同上面四行，但单词仅以空格分割，小写则以标点和空格分割\n| ;h     | ^                          | 移动到行首第一个非空白字符\n| ;l     | $                          | 移动到行尾\n|        | 0                          | 移动到行首\n|        | [n](或)                    | 向前(后)移动一个(n个)句子(标点符号分割)\n|        | [n]{或}                    | 向前(后)移动一个(n个)段落(空行分割)\n|        | +或\\\u003center\\\u003e               | 移动到下一行的首个非空字符\n|        | -                          | 移动到上一行的首个非空字符\n|        | gg或G                      | 移动到文件首(或文件尾)\n|        | {n}gg或{n}G或:{n}          | 移动到第n行\n|        | {n}%                       | 移动到文件的 n% 处\n|        | {n}\\|                      | 移动到当前行的第n列\n|        | gm                         | 移动到当前行的中间\n|        | M或H或L                    | 光标移动到屏幕中间一行/第一行/最后一行\n|        | zz或zt或zb                 | 将当前行居中/显示为顶行/显示为底行\n|        | [n]zh或[n]zl或z[n]h或z[n]l | 向左(右)滚动一行(n行)\n|        | zH或zL                     | 向左(右)滚动半屏\n|        | CTRL-E或CTRL-Y             | 向下(上)滚动一行\n| ;j或;k | CTRL-D或CTRL-U             | 向下(上)滚动半屏\n|        | CTRL-F或CTRL-B             | 向下(上)滚动整屏\n\n## 搜索\n\n| 快捷键 | 原指令     | 描述\n| -----  | -----      | ----\n|        | [n]f{char} | 移动到行内下一个char字符处，前面加n表示到下n个\n|        | [n]F{char} | 移动到行内上一个char字符处，前面加n表示到上n个\n|        | [n]t{char} | 移动到行内下一个char字符前，前面加n表示到下n个\n|        | [n]T{char} | 移动到行内上一个char字符后，前面加n表示到上n个\n|        | ;或,       | 移动到下(上)一个行内搜索的结果(f/F/t/T)，由于;被设置为leader键，按下后要等一秒才会执行跳转\n|        | /或?       | 正向(或反向)搜索，输入回车重复上一次搜索\n|        | n或N       | 下一个(或上一个)搜索结果\n|        | *或#       | 向后(前)搜索当前光标下的单词\n|        | gd         | 搜索当前光标下的单词\n| ;/     | :noh       | 取消搜索结果高亮\n|        | CTRL-P     | 模糊搜索当前目录下的文件\n\n\n## 编辑\n\n| 快捷键      | 原指令                        | 描述\n| -----       | -----                         | ----\n|             | u或CTRL-R                     | 撤销(反撤销)\n|             | x或X                          | 删除当前(向前删除)字符\n|             | [n]r{char}                    | 替换(n个)字符为char\n|             | J                             | 删除当前行尾的换行符\n| d;l         | D或d$                         | 剪切当前行到行尾\n|             | [n]dd                         | 剪切n行，没有n表示剪切一行\n|             | [n]yy                         | 复制n行，没有n表示复制当前行\n|             | [n]cc                         | 改写n行，没有n表示复制当前行，同S\n|             | p                             | 在当前位置后粘贴\n|             | P                             | 在当前位置前粘贴\n| ;c\\\u003cspace\\\u003e |                               | 注释/反注释当前行或选中内容\n|             | :w                            | 保存\n|             | :q                            | 退出\n|             | c{}或d{}或v{}或y{}            | 更改、删除、选中、拷贝{ }作用域中的内容，作用域在下方表格中\n\n## c,d,v,y命令后的作用域\n\n| 快捷键 | 指令              | 描述\n| -----  | -----             | ----\n|        | [n]k或j或h或l     | 上下左右，前面的n表示移动多少单位\n|        | [n]w              | 到下一个单词的开头\n|        | [n]e              | 到当前或下一个单词的词尾\n|        | [n]b              | 到当前或上一个单词的词头\n|        | [n]ge             | 到上一个单词的词尾\n|        | [n]W或E或B或gE    | 同上面四行，但单词仅以空格分割，小写则以标点和空格分割\n| ;h     | ^                 | 到行首第一个非空白字符\n| ;l     | $                 | 到行尾\n|        | 0                 | 到行首\n|        | (或)              | 向前(后)一个句子(标点符号分割)\n|        | {或}              | 向前(后)一个段落(空行分割)\n|        | gg或G             | 移动到文件首(或文件尾)\n|        | {n}gg或{n}G或:{n} | 移动到第n行\n|        | f{char}或t{char}  | 光标位置到char 之处(之前)\n|        | iw                | 整个单词（不包括分隔符）\n|        | aw                | 整个单词（包括分隔符）\n|        | iW                | 整个空格分割的单词（不包括分隔符）\n|        | aW                | 整个空格分割的单词（包括分隔符）\n|        | is                | 整个句子（不包括分隔符）\n|        | as                | 整个句子（包括分隔符）\n|        | ip                | 整个段落（不包括前后空白行）\n|        | ap                | 整个段落（包括前后空白行）\n|        | ib或i)或i(        | 小括号内\n|        | ab或a)或a(        | 小括号内（包含小括号本身）\n|        | iB或i}或i{        | 大括号内\n|        | aB或a}或a{        | 大括号内（包含大括号本身）\n|        | i]或i[            | 中括号内\n|        | a]或a[            | 中括号内（包含中括号本身）\n|        | i'                | 单引号内\n|        | a'                | 单引号内（包含单引号本身）\n|        | i\"                | 双引号内\n|        | a\"                | 双引号内（包含双引号本身）\n|        | [n]i)             | 往外n层小括号内\n|        | [n]a)             | 往外n层小括号内（包含小括号本身）\n|        | [n]f)             | 到第n个小括号处\n|        | [n]t)             | 到第n个小括号前\n\n## 窗口与跳转\n\n| 快捷键            | 指令             | 描述\n| -----             | -----            | ----\n|                   | CTRL-O或CTRL-I   | 返回光标上一个/下一个所在位置\n| ;n                | :NERDTreeToggle  | 打开目录\n| ;m                | :TagbarToggle    | 打开tag列表\n| ;[1-9]            |                  | 转到第n个buffer\n|                   | :bd              | 关闭当前buffer\n|                   | :bn              | 下一个buffer\n|                   | :bp              | 上一个buffer\n|                   | gt               | 跳转到下一个tab\n|                   | gT               | 跳转到上一个tab\n| ;t                | :terminal        | 打开新终端，在终端中使用CTRL-W使用vim窗口控制\n| CTRL {h或j或k或l} | CTRL-W {h/j/k/l} | 在多个窗口跳转\n|                   | CTRL-W {H/J/K/L} | 将当前窗口移动到某一方向\n|                   | CTRL-W o         | 仅保留当前窗口，关闭其他所有窗口\n|                   | CTRL-W =         | 将所有窗口的高度宽度设置为与当前窗口一样\n|                   | CTRL-W [n]+或-   | 增加或减少[n]单位的当前窗口高度\n|                   | CTRL-W _         | 将当前窗口的高度设置为尽可能最高\n|                   | CTRL-W [n]\u003c或\u003e   | 增加或减少[n]单位的当前窗口宽度\n|                   | CTRL-W \\|        | 将当前窗口的宽度设置为尽可能最宽\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuesong-feng%2Feasyvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuesong-feng%2Feasyvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuesong-feng%2Feasyvim/lists"}