{"id":13845014,"url":"https://github.com/bilibili/vim-vide","last_synced_at":"2025-05-16T18:04:04.143Z","repository":{"id":41583674,"uuid":"106171409","full_name":"bilibili/vim-vide","owner":"bilibili","description":"Lightest vimrc, while strong enough. 最轻的vim配置，却足够强！","archived":false,"fork":false,"pushed_at":"2024-04-20T13:02:23.000Z","size":6963,"stargazers_count":791,"open_issues_count":4,"forks_count":125,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-12T16:49:32.769Z","etag":null,"topics":["airline","ide","lua","php","php-manual","plugin","powerline","python","statusline","vi","vide","vim","vimrc","vundle"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bilibili.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":"2017-10-08T11:33:53.000Z","updated_at":"2025-04-07T04:15:19.000Z","dependencies_parsed_at":"2024-04-10T04:36:13.034Z","dependency_job_id":"942ceab2-c21f-42c7-8506-bd6037a5a568","html_url":"https://github.com/bilibili/vim-vide","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bilibili%2Fvim-vide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bilibili%2Fvim-vide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bilibili%2Fvim-vide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bilibili%2Fvim-vide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bilibili","download_url":"https://codeload.github.com/bilibili/vim-vide/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254582902,"owners_count":22095518,"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":["airline","ide","lua","php","php-manual","plugin","powerline","python","statusline","vi","vide","vim","vimrc","vundle"],"created_at":"2024-08-04T17:03:07.637Z","updated_at":"2025-05-16T18:04:04.092Z","avatar_url":"https://github.com/bilibili.png","language":"Vim Script","readme":"![screenshots](./img/screenshots.png)\n\n目录\n===\n\n\u003cdetails\u003e\n\u003csummary\u003e点击展开目录菜单\u003c/summary\u003e\n\n\u003c!-- vim-markdown-toc GFM --\u003e\n\n* [交流群](#交流群)\n    * [QQ交流群](#qq交流群)\n* [Install (安装)](#install-安装)\n* [Uninstall (卸载)](#uninstall-卸载)\n* [Upgrade Plugins (升级插件)](#upgrade-plugins-升级插件)\n* [Features (特色功能)](#features-特色功能)\n    * [vim-plug](#vim-plug)\n    * [Statusline (状态栏)](#statusline-状态栏)\n    * [Backup (备份路径)](#backup-备份路径)\n    * [Template (模板)](#template-模板)\n* [什么是Vim,为什么要使用Vim](#什么是vim为什么要使用vim)\n    * [历史](#历史)\n    * [帮助文档](#帮助文档)\n    * [Vim的五种模式](#vim的五种模式)\n    * [Vim的哲学](#vim的哲学)\n* [Vim基本操作](#vim基本操作)\n    * [打开/切换文件](#打开切换文件)\n    * [退出/保存](#退出保存)\n    * [编辑](#编辑)\n    * [删除](#删除)\n    * [移动](#移动)\n    * [复制/粘贴](#复制粘贴)\n    * [搜索](#搜索)\n* [Vim进阶](#vim进阶)\n    * [代码补全](#代码补全)\n    * [拖动功能](#拖动功能)\n    * [设置编码和格式](#设置编码和格式)\n    * [代码折叠](#代码折叠)\n    * [分割窗口](#分割窗口)\n    * [宏](#宏)\n* [Vim插件](#vim插件)\n    * [必装插件](#必装插件)\n    * [NERDTree操作命令](#nerdtree操作命令)\n    * [vim-commentary操作命令](#vim-commentary操作命令)\n* [资源](#资源)\n    * [Vim资源](#vim资源)\n    * [其他](#其他)\n\n\u003c!-- vim-markdown-toc --\u003e\n\u003c/details\u003e\n\n## 交流群\n\n### QQ交流群\n\n群号：1019096841\n扫码进群：\n![QQ Group QR Code](./img/QR.png)\n\n## Install (安装)\n\n如果您之前有定制自己的`Vim`配置，**请先备份`~/.vim`目录**，以下操作会覆盖`~/.vim`目录\n```bash\nwget http://upos-sz-staticcos.bilivideo.com/appstaticboss/vim-vide-20200812.tgz \u0026\u0026 tar xvf ./vim-vide-20200812.tgz -C ~\n```\n\n## Uninstall (卸载)\n\n如需恢复您原来的自定义配置，执行以下命令后，再将您原来的`.vim`目录还原至根目录即可\n```bash\nrm -rf ~/.vim\nrm -rf ~/.vimtmp\n```\n\n## Upgrade Plugins (升级插件)\n\n```bash\nvim +PlugClean[!] +PlugUpdate +qa\n```\n\n## Features (特色功能)\n\n### vim-plug\n\nBase on vim-plug, A minimalist Vim plugin manager.\n新一代的Vim配置管理组件，体积最小，plugit用了并行下载，速度较顺序下载的vundle快很多！！！\n\nhttps://github.com/junegunn/vim-plug\n\n### Statusline (状态栏)\n\nOrigin Vim config statusline, much faster than airline or powerline!\n(Vim原生配置实现的状态栏，信息很全，比airline或者powerline快数倍！！！)\n\n```bash\n(Vide)  README.md[+] /home/tjx/vide [unix:utf-8:MARKDOWN]       18,5      50%\n+----+  +----------+ +------------+ +-------------------+       +--+      +-+\n1       2         3                 4                           5         6\n```\n\n1. Logo\n1. Relative path (相对路径)\n1. Absolute path of directory (绝对路径)\n1. Format : file-encoding : filetype (文件类型)\n1. Row-position, col position (行号，列号)\n1. Percent of rows (当前行在总行数中的百分比)\n\n### Backup (备份路径)\n\n- 撤销文件夹 ~/.vimtmp/undodir\n- 备份文件夹 ~/.vimtmp/backupdir\n- 交换文件夹 ~/.vimtmp/directory .swp files\n\n### Template (模板)\n\n- call system('bash ~/.vim/lua.template \u003e /tmp/lua.template')\n- call system('bash ~/.vim/php.template \u003e /tmp/php.template')\n\n## 什么是Vim,为什么要使用Vim\n\n### 历史\n\n```bash\ned -\u003e ex(sed) -\u003e Vi -\u003e Vim -\u003e gVim / macvim\n```\n\n### 帮助文档\n\n- `vimtutor`\n\n  命令行直接运行，非Vim编辑器内命令\n\n- `:h`\n\n  Vim内部命令\n\n### Vim的五种模式\n\n1. 插入模式（和普通编辑器的模式差不多）\n\n2. 普通模式\n\n3. 可视模式\n\n4. 命令行模式（扩展Vim的功能，Vim的精髓所在）\n\n5. 选择模式（不常用）\n\n### Vim的哲学\n\n```bash\n执行次数 + 操作 + 范围\n次数 1,2,3\n操作 v d c\n范围 a i w p $ \" ' { ( [ t\n\n ni hao tang jun xin\n $('nihao')\n \u003ca href=\"xx\" \u003ekjkjk \u003c/a\u003e\n```\n\n## Vim基本操作\n\n### 打开/切换文件\n\n| 命令                            | 功能                                                         |\n| ------------------------------- | ------------------------------------------------------------ |\n| `:e file_name` 、`:o file_name` | 打开文件                                                     |\n| `:args file_name`               | 如果使用`vim file1 file2 [filen]`命令打开多个文件，就可以使用`:args file_name`命令在打开的文件之间切换 |\n| `:buffers`、`:ls`、`files`      | 查看缓冲区中的文件列表                                       |\n| `:bnext`                        | 切换到下一个缓冲区文件                                       |\n| `:bprevious`、`bpre`            | 切换到上一个缓冲区文件                                       |\n| `:bfirst`                       | 切换到第一个缓冲区文件                                       |\n| `:blast`                        | 切换到最后一个缓冲区文件                                     |\n| `:bdelete file_name`            | 删除缓冲区文件                                               |\n| `:badd file_name`               | 添加文件到缓冲区                                             |\n\n### 退出/保存\n\n| 命令        | 功能                                           |\n| ----------- | ---------------------------------------------- |\n| `:w`        | 保存                                           |\n| `:w!`       | 强制保存，不退出Vim                            |\n| `:q`        | 退出                                           |\n| `:q!`       | 强制退出不保存                                 |\n| `:wq`、`ZZ` | 保存并退出                                     |\n| `:wq!`      | 强制保存，并退出                               |\n| `:w file`   | 将修改另存到file中，不退出Vim                  |\n| `:e!`       | 放弃所有修改，从上次保存文件开始再编辑命令历史 |\n\n### 编辑\n\n| 命令            | 功能                                                       |\n| --------------- | ---------------------------------------------------------- |\n| `i`/`I`         | 编辑                                                       |\n| `esc`           | 退出编辑模式                                               |\n| `u`             | 撤销操作                                                   |\n| `\u003cCtrl\u003e + r `   | 重做（恢复被撤销的动作）                                   |\n| `cc` 、`C`、`S` | 清空当前行并进入编辑模式                                   |\n| `s`             | 删除当前字符并进入编辑模式                                 |\n| `r`             | 替换当前字符（替换后不进入编辑模式）                       |\n| `R`             | 持续替换字符（不进入编辑模式），替换一个光标自动移到下一个 |\n| `=-`            | 格式化当前行代码                                           |\n| `gg=G`          | 格式化所有代码                                             |\n| `\u003cShift\u003e + v`   | 可视化多选                                                 |\n| `:set mouse=a`  | 设置鼠标可区域选择，跟普通的编辑器一样可以进行拖选         |\n\n### 删除\n\n| 命令  | 功能                                        |\n| ----- | ------------------------------------------- |\n| `dd`  | 删除当前行                                  |\n| `ndd` | 删除包含当前行的n行数据（从当前行往下删除） |\n| `dG`  | 删除包含当前行及之后的全部行                |\n\n### 移动\n\n| 命令       | 功能                 |\n| ---------- | -------------------- |\n| `gg`       | 跳转到首行           |\n| `G`        | 跳转到尾行           |\n| `:n`、`nG` | 跳转到第n行          |\n| `o`        | 在下一行插入         |\n| `O`        | 在上一行插入         |\n| `w`、`W`   | 移动到下一个单词开头 |\n| `b`、`B`   | 移动到上一个单词开头 |\n| `e`、`E`   | 移动到下一个单词结尾 |\n| `{`        | 下一段落             |\n| `}`        | 上一段落             |\n| `M`        | 跳转到文件内容的中部 |\n| `H`        | 跳转到文件内容的顶部 |\n| `L`        | 跳转到文件内容的底部 |\n\n### 复制/粘贴\n\n| 命令     | 功能       |\n| -------- | ---------- |\n| `y`      | 复制       |\n| `p`      | 粘贴到下部 |\n| `P`      | 粘贴到上部 |\n| `x`、`X` | 剪切       |\n\n### 搜索\n\n| 命令                     | 功能                              |\n| ------------------------ | --------------------------------- |\n| `f`  / `F`               | 当前行搜索，til，正向 / 反向      |\n| `t` / `T`                | 当前行搜索，until，正向 / 反向    |\n| `;`、`,`                 | 重复当前行搜索                    |\n| `/`、`?`                 | 当前文件搜索，向上搜索 / 向下搜索 |\n| `:grep -r` / `:!grep -r` | 跨文件搜索                        |\n| `n`                      | 下一个匹配内容                    |\n| `N`                      | 上一个匹配内容                    |\n| `ctrl-L`                 | 清除搜索高亮                      |\n\n## Vim进阶\n\n### 代码补全\n\n| 命令          | 代码         |\n| ------------- | ------------ |\n| `\u003cCtrl\u003e + p ` | 往前搜索补全 |\n| `\u003cCtrl\u003e + n ` | 往后搜索补全 |\n| `\u003cCtrl\u003e + e ` | 取消补全     |\n| `\u003cCtrl\u003e + y ` | 确定补全     |\n\n### 拖动功能\n\n| 命令 | 功能                   |\n| ---- | ---------------------- |\n| `zz` | 将当前行定位到屏幕中间 |\n| `zb` | 将当前行定位到屏幕底部 |\n| `zt` | 将当前行定位到屏幕顶部 |\n\n### 设置编码和格式\n\n| 命令                           | 功能                                           |\n| ------------------------------ | ---------------------------------------------- |\n| `:set fileformat unix dos mas` | 让换行符自由切换                               |\n| `:set fileencodings`           | 检测打开文档编码的顺序，一般设置为utf-8、cp936 |\n| `:set fileencoding`            | 保存文档的编码，一般为utf-8                    |\n| `:set encoding`                | Vim本身界面的编码，一般和文档无关              |\n| `\\3`    | `NERDTree-Find`            |\n| `\\a`     | `:set filetype=awk`        |\n| `\\c`     | `:set filetype=css`        |\n| `\\h`     | `:set filetype=html`       |\n| `\\j`     | `:set filetype=javascript` |\n| `\\l`     | `:set filetype=lua`        |\n| `\\m`     | `:set filetype=markdown`   |\n| `\\p`     | `:set filetype=php`        |\n| `\\s`     | `:set filetype=sh`         |\n| `\\v`     | `:set filetype=vim`        |\n| `\\y`     | `:set filetype=python`     |\n\n### 代码折叠\n\n| 命令                    | 功能           |\n| ----------------------- | -------------- |\n| `zf`                    | 创建折叠       |\n| `zo`                    | 打开折叠       |\n| `zc`                    | 关闭折叠       |\n| `:mkview` / `:loadview` | 保存，载入绘画 |\n\n### 分割窗口\n\n| 命令                                     | 功能                 |\n| ---------------------------------------- | -------------------- |\n| `:split [file_name]` 、`:sp [file_name]` | 水平分割             |\n| `:vsplit [file_name]`、`:vs [file_name]` | 垂直分割             |\n| `\u003cCtrl\u003e + w + h`                         | 将焦点移动到左边窗口 |\n| `\u003cCtrl\u003e + w + j`                         | 将焦点移动到下方窗口 |\n| `\u003cCtrl\u003e + w + k`                         | 将焦点移动到上方窗口 |\n| `\u003cCtrl\u003e + w + l`                         | 将焦点移动到右边窗口 |\n\n### 宏\n\n| 命令 | 功能    |\n| ---- | ------- |\n| `qa` | 录制到a |\n| `@a` | 播放a   |\n\n## Vim插件\n\n### 必装插件\n\n| 名称           | 功能                 |\n| -------------- | -------------------- |\n| vim-phpmanual  | php文档，`\u003cs-k\u003e`查询 |\n| syntastic      | 语法检查             |\n| ctrlp.vim      | 文件跳转             |\n| nerdtree       | 浏览文件             |\n| vim-gitgutter  | 观察git状态          |\n| vim-commentary | 强大的注释插件       |\n\n### NERDTree操作命令\n\n| 命令 | 功能                                     |\n| ---- | ---------------------------------------- |\n| `o`  | 打开/关闭文件或目录                      |\n| `t`  | 在新标签页中打开                         |\n| `T`  | 在后台标签页打开                         |\n| `!`  | 执行此文件                               |\n| `p`  | 到上层目录                               |\n| `P`  | 到根目录                                 |\n| `K`  | 到第一个节点                             |\n| `J`  | 到最后一个节点                           |\n| `u`  | 打开上层目录                             |\n| `m`  | 显示文件系统菜单（添加、删除、移动操作） |\n| `?`  | 帮助，再按一下关闭                       |\n| `q`  | 关闭                                     |\n| `\\3` | `NERDTree-Find`                          |\n\n### vim-commentary操作命令\n\n| 快捷键 | 功能                               |\n| ------ | ---------------------------------- |\n| `gcc`  | 注释当前行（普通模式下）           |\n| `gc`   | 注释当前选中内容（可视多选模式下） |\n| `gcap` | 注释当前所在段落                   |\n| `gcu`  | 注释上一次注释的部分               |\n| `gcgc` | 取消一组相邻的注释                 |\n\n## 资源\n\n### Vim资源\n\n- [Vimbits](http://www.vimbits.com/)\n- [简明 Vim 练级攻略 | 酷 壳 - CoolShell.cn](http://coolshell.cn/articles/5426.html)\n- [[翻译]130+vim基本命令](http://wklken.me/posts/2013/08/17/130-essential-vim-commands.html#stq=\u0026stp=0)\n- [Vimer的程序世界 | 一个vim使用者的程序世界](http://www.vimer.cn/)\n- [Vim实用技巧 (豆瓣)](https://book.douban.com/subject/25869486/)\n- [welcome home : vim online](http://www.vim.org/)\n- [Vim | 易水博客](http://easwy.com/blog/archives/tag/vim/)\n- [Vimcasts - Free screencasts about the text editor Vim](http://vimcasts.org/)\n- [VimGolf - real Vim ninjas count every keystroke!](http://vimgolf.com/)\n- [Vim Awesome](http://vimawesome.com/)\n\n### 其他\n\n- [用DBGPavim在Vim中调试PHP/Python程序](https://brookhong.github.io/2014/09/27/dbgpavim-cn.html)\n- [Cscope的使用（领略Vim + Cscope的强大魅力） - 面码的个人空间 - 开源中国社区](http://my.oschina.net/u/572632/blog/267471)\n- [VundleVim/Vundle.vim](https://github.com/VundleVim/Vundle.vim)\n- [Using tab pages - Vim Tips Wiki - Wikia](http://vim.wikia.com/wiki/Using_tab_pages)\n- powerline / airline\n","funding_links":[],"categories":["Vim script","Vim script (13)","Vim Script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbilibili%2Fvim-vide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbilibili%2Fvim-vide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbilibili%2Fvim-vide/lists"}