{"id":13601904,"url":"https://github.com/skywind3000/vim-init","last_synced_at":"2025-04-11T04:31:57.933Z","repository":{"id":40693763,"uuid":"135415350","full_name":"skywind3000/vim-init","owner":"skywind3000","description":"轻量级 Vim 配置框架，全中文注释","archived":false,"fork":false,"pushed_at":"2024-07-26T03:22:14.000Z","size":367,"stargazers_count":903,"open_issues_count":13,"forks_count":414,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-08-02T18:41:36.239Z","etag":null,"topics":["vim","vim-configuration","vimrc","vimrc-settings"],"latest_commit_sha":null,"homepage":null,"language":"Vim Script","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/skywind3000.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-30T08:51:24.000Z","updated_at":"2024-08-02T13:08:06.000Z","dependencies_parsed_at":"2024-05-13T20:58:38.789Z","dependency_job_id":"3ea9c2b8-9205-47fd-9603-905afcb3d5de","html_url":"https://github.com/skywind3000/vim-init","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-init","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-init/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-init/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skywind3000%2Fvim-init/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skywind3000","download_url":"https://codeload.github.com/skywind3000/vim-init/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223458692,"owners_count":17148503,"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","vimrc","vimrc-settings"],"created_at":"2024-08-01T18:01:09.819Z","updated_at":"2024-11-07T04:32:08.445Z","avatar_url":"https://github.com/skywind3000.png","language":"Vim Script","readme":"# 前言\r\n轻量级 Vim 配置框架，全中文注释，这既是一份合理的轻量级配置，更是一份简明教程。话说，网上的 Vim 配置多的数不过来，这里又做一个干嘛？这些配置都有一些问题：\r\n\r\n- 注释不够，很多配置就是劈里啪啦一堆 VimScript 看的人一头雾水，新人顶多只能 “用”，没法跟着 “学”。\r\n- 大部分都是针对 Vim 7 以前的版本，太过陈旧，对 8.0/8.1 以后的各种现代编辑器特征支持不足。\r\n- 模块化不够好，全部塞在一个几百行的 `vimrc` 文件里，各部分搅在一起，增改都比较麻烦。\r\n- 插件没有分组，不能根据需要灵活选择功能组，所有插件一上就全上了，要禁止就是进去注释代码。\r\n- 它们有很多错误的地方，比如中文编码都没设对，很多 Windows 下的 PowerShell 脚本都打开不了。\r\n- 错误的习惯，比如把 jk 映射成 ESC 的，顺着从 a 打倒 z 都打不流畅，输入个 `Dijkstra` 都输入不了。\r\n- 对 C/C++ 开发支持不足。\r\n\r\n还有不少插件自己给设置门槛的，比如把方向键禁用掉，我见过很多才用 Vim 的新人，大部分都呆在插入模式下，保存文件才会退出一下，至少人家开始用了，等到熟练了，该用 hjkl 的时候自然会去用。你这上来就把方向键和鼠标禁止了，除了阻挡新人外，我不知道有什么作用。\r\n\r\n总之，山寨居多，还有某些著名的广为流传的 Vim 配置，我都不想点名了，把 Leader 键映射成逗号了，它不知道逗号/分号在 Vim 里是用来定位 f/t 搜索的下一个/上一个结果的么？就和 n/N 定位斜杠搜索一样。把 Leader 定义成空格我都还觉得挺科学，定义成逗号和分号的这些配置，是在把错误的用法源源不断的交给未来的新用户。\r\n\r\n所以网上缺一份合理的轻量级配置，适合新人学习那种，于是有了这个项目。\r\n\r\n\r\n# 安装\r\n\r\n将项目克隆到你喜欢的目录内，比如 `~/.vim` 内：\r\n\r\n```bash\r\ncd ~/.vim\r\ngit clone https://github.com/skywind3000/vim-init.git\r\n```\r\n\r\n然后创建你的 `~/.vimrc` 文件，里面只有一句话：\r\n\r\n```VimL\r\nsource ~/.vim/vim-init/init.vim\r\n```\r\n\r\n请调整你的终端软件，确保对 ALT 键的支持，以及 Backspace 键发送正确扫描码：\r\n\r\n[终端软件下正确支持 ALT 键和 Backspace 键](https://github.com/skywind3000/vim-init/wiki/Setup-terminals-to-support-ALT-and-Backspace-correctly)\r\n\r\n然后启动 Vim，在命令行运行 `:PlugInstall` 安装依赖插件即可。\r\n\r\n# 结构\r\n\r\n本配置按顺序，由如下几个主要模块组成：\r\n\r\n- `init.vim`: 配置入口，设置 runtimepath 检测脚本路径，加载其他脚本。\r\n- `init-basic.vim`: 所有人都能同意的基础配置，去除任何按键和样式定义，保证能用于 `tiny` 模式（没有 `+eval`）。\r\n- `init-config.vim`: 支持 +eval 的非 tiny 配置，初始化 ALT 键支持，功能键键盘码，备份，终端兼容等\r\n- `init-tabsize.vim`: 制表符宽度，是否展开空格等，因为个人差异太大，单独一个文件好更改。\r\n- `init-plugin.vim`: 插件，使用 vim-plug，按照设定的插件分组进行配置。\r\n- `init-style.vim`: 色彩主题，高亮优化，状态栏，更紧凑的标签栏文字等和显示相关的东西。\r\n- `init-keymaps.vim`: 快捷键定义。\r\n\r\n最好 fork 一份到你自己的仓库，然后不断修改，把它修改成你自己的东西，平时要更新时到这里同步下上游仓库，然后自己合并一下即可。\r\n\r\n除去 vim-plug 额外安装的插件外，本配置自带一些依赖较大的[插件](https://github.com/skywind3000/vim-init/wiki/Integrated-Plugins)，保证内网连不了网的情况下，把本配置压缩包解压一下就能跑得起来，且基本功能可用，它们都比较简单，往往一两个文件，分布于 `plugin` 和 `autoload` 两个目录中，你可以根据自己需要增改。\r\n\r\n# 帮助\r\n\r\n既然是全中文注释，帮助主要看 [init-keymaps.vim](https://github.com/skywind3000/vim-init/blob/master/init/init-keymaps.vim) 和 [init-plugins.vim](https://github.com/skywind3000/vim-init/blob/master/init/init-plugins.vim) 两个文件，每个点我都写满了注释了，也是未来你自己可能修改的最多的两个文件。每次你修改或者调试了单个 .vim 配置文件后，命令行输入 `:so %` 即可重新载入，so 是 `source` 的简写，意思是加载脚本，`%` 代表当前正在编辑脚本的名字。\r\n\r\n# Credit\r\n\r\nTODO\r\n","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskywind3000%2Fvim-init","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskywind3000%2Fvim-init","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskywind3000%2Fvim-init/lists"}