{"id":13845016,"url":"https://github.com/jaywcjlove/vim-web","last_synced_at":"2025-04-13T05:06:19.423Z","repository":{"id":5383240,"uuid":"53012555","full_name":"jaywcjlove/vim-web","owner":"jaywcjlove","description":"◈ 搞得像IDE一样的Vim，安装配置自己的Vim。","archived":false,"fork":false,"pushed_at":"2024-06-23T08:10:54.000Z","size":2046,"stargazers_count":604,"open_issues_count":5,"forks_count":129,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-13T05:06:15.372Z","etag":null,"topics":["vim","vim-plug","vim-web","vimrc","vimrc-vim"],"latest_commit_sha":null,"homepage":"https://jaywcjlove.github.io/vim-web","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/jaywcjlove.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"ko_fi":"jaywcjlove","buy_me_a_coffee":"jaywcjlove","custom":["https://www.paypal.me/kennyiseeyou","https://jaywcjlove.github.io/#/sponsor"]}},"created_at":"2016-03-03T02:09:00.000Z","updated_at":"2025-02-24T14:38:37.000Z","dependencies_parsed_at":"2024-11-07T14:40:47.130Z","dependency_job_id":null,"html_url":"https://github.com/jaywcjlove/vim-web","commit_stats":{"total_commits":138,"total_committers":5,"mean_commits":27.6,"dds":"0.036231884057971064","last_synced_commit":"4d5d1b6725d984b5f2fd8e15a91e961bb56ae003"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywcjlove%2Fvim-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywcjlove%2Fvim-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywcjlove%2Fvim-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywcjlove%2Fvim-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaywcjlove","download_url":"https://codeload.github.com/jaywcjlove/vim-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665748,"owners_count":21142123,"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-plug","vim-web","vimrc","vimrc-vim"],"created_at":"2024-08-04T17:03:07.692Z","updated_at":"2025-04-13T05:06:19.395Z","avatar_url":"https://github.com/jaywcjlove.png","language":"Vim Script","funding_links":["https://ko-fi.com/jaywcjlove","https://buymeacoffee.com/jaywcjlove","https://www.paypal.me/kennyiseeyou","https://jaywcjlove.github.io/#/sponsor"],"categories":["计算机科学","Vim script","Vim script (13)","Vim Script","Editors and IDE"],"sub_categories":["常识","Editors"],"readme":"\n\u003cp align=\"center\"\u003e\u003cimg height=\"80\" src=\"./vim-web-logo.png\" /\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eOnly tested on Mac OSx\u003c/p\u003e\n\u003cp align=\"center\"\u003e在 \u003ca href=\"https://github.com/jaywcjlove/vim-web/tree/vim-web\"\u003evim-web v2\u003c/a\u003e 版本插件配置太多，新版本 v3 只配置少量的插件，是一个简单的版本。\u003c/p\u003e\n\n\u003cimg align=\"center\" src=\"./vim-web.gif\"\u003e\n\u003c!--idoc:ignore:start--\u003e\n\n目录\n===\n\n- [安装](#安装)\n- [快捷键](#快捷键)\n- [插件管理器](#插件管理器)\n- [理解Vim](#理解vim)\n- [菜单目录](#菜单目录)\n- [HTML操作](#html操作)\n- [代码导航](#代码导航)\n- [文本内容搜索](#文本内容搜索)\n- [插件列表](#插件列表)\n- [参考资料](#参考资料)\n- [其它人的vimrc配置](#其它人的vimrc配置)\n\n\u003c!--idoc:ignore:end--\u003e\n\n## 安装\n\n最新版本的Vim 8.1+  使用下面命令安装 vim 版本并更新：\n\n```bash\nbrew install macvim # 安装 macvim\nbrew install macvim --override-system-vim\n```\n\n将插件以及配置下载到 `~/.vim/` 目录中，这个目录是存放所有插件和配置的地方。vimscript是vim自己的一套脚本语言，通过这种脚本语言可以实现与 vim 交互，达到功能扩展的目的。一组 vimscript 就是一个 vim 插件，vim 的很多功能都由各式插件实现。\n\n```shell\n$ git clone https://github.com/jaywcjlove/vim-web.git ~/.vim\n$ ln -s ~/.vim/.vimrc ~/.vimrc\n# 插件管理器\ncurl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim\n# 安装主题\ncurl -LSso ~/.vim/colors/molokai.vim https://raw.githubusercontent.com/fatih/molokai/master/colors/molokai.vim\n```\n\n或者**脚本下载安装**\n\n```bash\n# 安装 vim-web\ncurl -sLf https://raw.githubusercontent.com/jaywcjlove/vim-web/master/install | bash -s -- install\n# 卸载 vim-web\ncurl -sLf https://raw.githubusercontent.com/jaywcjlove/vim-web/master/install | bash -s -- uninstall\n```\n\n## 快捷键\n\n```bash\nU # 选中 - 变大写 \nu # 选中 - 变小写\n~ # 选中 - 变大写变小写，小写变大写\n##########\n\u003cctrl+p\u003e # 启动搜索文件\n;tt      # 开启/关闭代码导航\n;fl      # 开启/关闭目录菜单\n:!which ls  # 找命令不推出vim运行命令\n```\n\n**整页翻页**\n\n```bash\nctrl-f # 下一页 f 就是`forword` \nctrl-d # 下半页 d \nctrl-b # 上一页 b 就是`backward`  \nctrl-u # 上半页 u  \n```\n\n**保存退出**\n\n```bash\n:w new_filename     # → 保存为指定文件  \n:w   # → 保存修改  \n:wq  # → 保存修改并推出  \nZZ   # → 快捷键，保存修改并推出  \n:q!  # → 不保存修改推出  \n:wq! # → 保存修改并推出（文件所有者，root权限的用户）  \n```\n\n**文本编辑搜索等操作**\n\n```bash\nxp  # 左右交换光标处两字符的位置\n:200,320 join # 合并第200~320行\nJ  # 选中多行合并\n\n:r ~/git/R.js # 将文件内容导入到该文件中\n:r !date    # 将当前编辑时间导入当前文本光标所在行\n:!date      # 查看编辑时间\n\n;sp # 选中搜索 - 文本中选中关键字\n    # normal模式下 选中搜索 - 文本中选中关键字\n;sl # 选中搜索 - 结果列表\n\n;y  # 复制到剪切板\ny   # 复制\nyy  # 复制当前行\nnyy # n表示大于1的数字，复制n行\nyw  # 从光标处复制至一个单子/单词的末尾，包括空格\nye  # 从光标处复制至一个单子/单词的末尾，不包括空格\ny$  # 从当前光标复制到行末\ny0  # 从当前光标位置（不包括光标位置）复制之行首\ny3l # 从光标位置（包括光标位置）向右复制3个字符\ny5G # 将当前行（包括当前行）至第5行（不包括它）复制\ny3B # 从当前光标位置（不包括光标位置）反向复制3个单词\n.   # 粘贴\np   # 粘贴\n\n# 多光标编辑\nShift+n # 选中下一个相同字符\nShift+k # 跳过当前选中的字符\n\n:1,24s/header/www/g  # 第1到24行将header替换成www\n```\n\n**刷新重载打开的文件**\n\n```bash\n:e  # 刷新当前文件\n:e! # 强制刷新当前文件\n```\n\n**简单排版**\n\n```vimscript\n:ce(nter)  # 居中显示光标所在行\n:ri(ght)   # 靠右显示光标所在行\n:le(ft)    # 靠左显示光标所在行\nJ          # 将光标所在下一行合并到光标所在行\n\n\u003e\u003e         # 光标所在行增加缩进(一个tab)\n\u003c\u003c         # 光标所在行减少缩进(一个tab)\n\nn\u003e\u003e        # 光标所在行开始的n行增加缩进\nn\u003c\u003c        # 光标所在行开始的n行减少缩进\n```\n\n## 插件管理器\n\n插件管理器换成了 [Pathogen](https://github.com/tpope/vim-pathogen) 看上去比其它插件管理器更简单的样子，安装插件只需将插件放入 `bundle` 目录，在 `~/.vimrc` 配置即可。\n\n## 理解Vim\n\n这部分来源 [一起来说 Vim 语](http://www.jianshu.com/p/a361ce8c97bc)，理解此部分是需要你已经了解了 Vim 的几种常用的工作模式（正常模式、插入模式、命令模式等）\n\n\u003cdetails\u003e\n\u003csummary\u003e动词理解\u003c/summary\u003e\n\n动词代表了我们打算对文本进行什么样的操作。例如：\n\n```bash\nd # 表示删除delete\nr # 表示替换replace\nc # 表示修改change\ny # 表示复制yank\nv # 表示选取visual select\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e名词理解\u003c/summary\u003e\n\n名词代表了我们即将处理的文本。Vim 中有一个专门的术语叫做 [文本对象] text object，下面是一些文本对象的示例：\n\n```bash\nw # 表示一个单词word\ns # 表示一个句子sentence\np # 表示一个段落paragraph\nt # 表示一个 HTML 标签tag\n引号或者各种括号所包含的文本称作一个文本块。\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e介词理解\u003c/summary\u003e\n\n介词界定了待编辑文本的范围或者位置。\n\n```bash\ni # 表示在...之内 inside\na # 表示环绕... around\nt # 表示到...位置前 to\nf # 表示到...位置上 forward\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e数词理解\u003c/summary\u003e\n\n数词指定了待编辑文本对象的数量，从这个角度而言，数词也可以看作是一种介词。引入数词之后，文本编辑命令的语法就升级成了下面这样：\n\n```\n动词 介词/数词 名词\n```\n\n下面是几个例子：\n\n```bash\nc3w  # 修改三个单词：change three words\nd2w  # 删除两个单词：delete two words\n```\n\n另外，数词也可以修饰动词，表示将操作执行 n 次。于是，我们又有了下面的语法：\n\n```\n数词 动词 名词\n```\n\n请看示例：\n\n```bash\n2dw # 两次删除单词（等价于删除两个单词）: twice delete word\n3x  # 三次删除字符（等价于删除三个字符）：three times delete character\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e组词为句理解\u003c/summary\u003e\n\n有了这些基本的语言元素，我们就可以着手构造一些简单的命令了。文本编辑命令的基本语法如下：\n\n```\n动词 介词 名词\n```\n\n下面是一些例子（如果熟悉了上面的概念，你将会看到这些例子非常容易理解），请亲自在 Vim 中试验一番。\n\n```bash\ndip # 删除一个段落: delete inside paragraph\nvis # 选取一个句子: visual select inside sentence\nciw # 修改一个单词: change inside word\ncaw # 修改一个单词: change around word\ndtx # 删除文本直到字符“x”（不包括字符“x”）: delete to x\ndfx # 删除文本直到字符“x”（包括字符“x”）: delete forward x\n```\n\n\u003c/details\u003e\n\n\n## 菜单目录\n\n工程文件菜单插件 [scrooloose/nerdtree](https://github.com/scrooloose/nerdtree) \n\n```bash\nctrl + i # 菜单显示隐藏文件\n;fl      # 显示文件菜单 file list\n# 可以直接在Tab之间切换。\ngt # 后一个Tab标签\ngT # 前一个Tab标签\n```\n\n```bash\nma # 新建文件，新建目录，文件目录 'folder/' 记住后面的斜杠\n```\n\n```bash\nshift+i      # 显示/隐藏隐藏文件 \nt       # 在新 Tab 中打开选中文件/书签，并跳到新 Tab\nT       # 在新 Tab 中打开选中文件/书签，但不跳到新 Tab\ni       # split 一个新窗口打开选中文件，并跳到该窗口\ngi      # split 一个新窗口打开选中文件，但不跳到该窗口\ns       # vsplit 一个新窗口打开选中文件，并跳到该窗口\ngs      # vsplit 一个新 窗口打开选中文件，但不跳到该窗口\n\nctrl + w + h    # 光标 focus 左侧树形目录\nctrl + w + l    # 光标 focus 右侧文件显示窗口\nctrl + w + w    # 光标自动在左右侧窗口切换\nctrl + w + r    # 移动当前窗口的布局位置\no       # 在已有窗口中打开文件、目录或书签，并跳到该窗口\ngo      # 在已有窗口 中打开文件、目录或书签，但不跳到该窗口\n\n!       # 执行当前文件\nO       # 递归打开选中 结点下的所有目录\nx       # 合拢选中结点的父目录\nX       # 递归 合拢选中结点下的所有目录，收起当前目录树\ne       # Edit the current dif\n\n双击    相当于 NERDTree-o\n中键    对文件相当于 NERDTree-i，对目录相当于 NERDTree-e\n\nD       # 删除当前书签\n#\nP       # 跳到根结点\np       # 跳到父结点\nK       # 跳到当前目录下同级的第一个结点\nJ       # 跳到当前目录下同级的最后一个结点\nk       # 跳到当前目录下同级的前一个结点\nj       # 跳到当前目录下同级的后一个结点\n\nC       # 将选中目录或选中文件的父目录设为根结点\nu       # 将当前根结点的父目录设为根目录，并变成合拢原根结点\nU       # 将当前根结点的父目录设为根目录，但保持展开原根结点\nr       # 递归刷新选中目录，刷新当前目录\nR       # 递归刷新根结点，刷新根目录树\nm       # 显示文件系统菜单\ncd      # 将 CWD 设为选中目录\n\nI       # 切换是否显示隐藏文件\nf       # 切换是否使用文件过滤器\nF       # 切换是否显示文件\nB       # 切换是否显示书签\n#\nq       # 关闭 NerdTree 窗口\n?       # 切换是否显示 Quick Help\n```\n\n## HTML操作\n\n便捷操作得益于插件[Emmet.vim](https://github.com/mattn/emmet-vim)。键入 `div\u003ep#foo$*3\u003ea` 然后按快捷键 `\u003cc-y\u003e,` – 表示 `\u003cCtrl-y\u003e` 后再按逗号【\u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003ey\u003c/kbd\u003e\u003ckbd\u003e,\u003c/kbd\u003e】。\n\n新建 `vim index.html` 文件，输入 `html:5_` 使用快捷键 \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003ey\u003c/kbd\u003e\u003ckbd\u003e,\u003c/kbd\u003e，即可初始化一个 HTML 文件。\n\n按大写的 `V` 进入 Vim 可视模式，行选取上面三行内容，然后按键 \u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003ey\u003c/kbd\u003e+\u003ckbd\u003e,\u003c/kbd\u003e，这时 Vim 的命令行会提示 `Tags:`，键入 `ul\u003eli*`，然后按 `Enter`。\n\n```shell\n\u003cctrl+y\u003ed # 根据光标位置选中整个标签  \n\u003cctrl+y\u003eD # 根据光标位置选中整个标签内容  \n\u003cctrl-y\u003en # 跳转到下一个编辑点  \n\u003cctrl-y\u003eN # 跳转到上一个编辑点  \n\u003cctrl-y\u003ei # 更新图片大小  \n\u003cctrl-y\u003em # 合并成一行  \n\u003cctrl-y\u003ek # 移除标签对  \n\u003cctrl-y\u003ej # 分割/合并标签  \n\u003cctrl-y\u003e/ # 切换注释  \n\u003cctrl-y\u003ea # 从 URL 地址生成锚  \n\u003cctrl-y\u003eA # 从 URL 地址生成引用文本  \n```\n\n## 代码导航\n\n通过 [majutsushi/tagbar](https://github.com/majutsushi/tagbar) 插件实现，Vim 的类代码地图查看器，通过 `:TagbarToggle` 来查看。\n\n```bash\n;tt # 开启/关闭导航\n```\n\n## 文本内容搜索\n\n通过 [easymotion/vim-easymotion](https://github.com/easymotion/vim-easymotion) 插件可以丰富搜索\n\n```bash\n;f  # 启动搜索输入字母，出现位置选择\n;e  # 下一页随机位置\n;b  # 上一页随机位置\n;n  # 下一页随机位置\n```\n\n基本搜索，这种搜索不需要依赖任何插件，输入 \u003ckbd\u003e/\u003c/kbd\u003e 再输入需要搜索的内容，摁 \u003ckbd\u003eEnter\u003c/kbd\u003e 键，将会高亮所有搜索的内容，在英文状态下摁 \u003ckbd\u003en\u003c/kbd\u003e 字母键向下查找，下次打开文件时，这些字符串仍然高亮显示，使用命令`:nohl`取消高亮显示。\n\n`/pattern\u003cEnter\u003e`：向下查找pattern匹配字符串   \n`?pattern\u003cEnter\u003e`：向上查找pattern匹配字符串，使用了查找命令之后，使用如下两个键快速查找：  \n`n`：按照同一方向继续查找   \n`N`：按照反方向查找   \n\n```shell\n/^abc\u003cEnter\u003e       # 查找以abc开始的行 \n/test$\u003cEnter\u003e      # 查找以abc结束的行 \n//^test\u003cEnter\u003e     # 查找^tabc字符串\n:s/vivian/sky/     # 替换当前行第一个 vivian 为 sky\n:s/vivian/sky/g    # 替换当前行所有 vivian 为 sky\n:n,$s/vivian/sky/  # 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky\n:n,$s/vivian/sky/g # 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky\n                   #（n 为数字，若 n 为 .，表示从当前行开始到最后一行）\n:%s/vivian/sky/  #（等同于 :g/vivian/s//sky/） 替换每一行的第一个 vivian 为 sky\n:%s/vivian/sky/g #（等同于 :g/vivian/s//sky/g） 替换每一行中所有 vivian 为 sky\n\n:s#vivian/#sky/#      # 替换当前行第一个 vivian/ 为 sky/\n:%s+/oradata/apras/+/user01/apras1+ \n#（使用+ 来 替换 / ）： /oradata/apras/替换成/user01/apras1/\n\n:s/str1/str2/          # 用字符串 str2 替换行中首次出现的字符串 str1\n:s/str1/str2/g         # 用字符串 str2 替换行中所有出现的字符串 str1\n:.,$ s/str1/str2/g     # 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1\n:1,$ s/str1/str2/g     # 用字符串 str2 替换正文中所有出现的字符串 str1\n:g/str1/s//str2/g      # 功能同上\n\n//\u003cabc  # 查找以test开始的字符串 \n/abc/\u003e  # 查找以test结束的字符串 \n\n$       # 匹配一行的结束\n^       # 匹配一行的开始\n/\u003c      # 匹配一个单词的开始，例如//\u003cabc\u003cEnter\u003e:查找以abc开始的字符串\n/\u003e      # 匹配一个单词的结束，例如/abc/\u003e\u003cEnter\u003e:查找以abc结束的字符串 \n\n*       # 匹配0或多次\n/+      # 匹配1或多次\n/=      # 匹配0或1次\n\n.       # 匹配除换行符以外任意字符    \n/a      # 匹配一个字符\n/d      # 匹配任一数字      \n/u      # 匹配任一大写字母\n\n[]      # 匹配范围，如t[abcd]s 匹配tas tbs tcs tds\n/{}     # 重复次数，如a/{3,5} 匹配3~5个a\n/( /)   # 定义重复组，如a/(xy/)b 匹配ab axyb axyxyb axyxyxyb ...\n/|      # 或，如：for/|bar 表示匹配for或者bar\n\n/%20c   # 匹配第20列\n/%20l   # 匹配第20行\n\n# 切换 向上和向下搜索\n# 输入 / 摁 Enter键，再摁 n 字母键向，下查找\n# 输入 ? 摁 Enter键，再摁 n 字母键向，上查找\n```\n\n上面是全文搜索，下面是简单的单行搜索\n\n```shell\nfx  # 到第一个x\n2fx # 到第二个x\nFx  # 往回查找\n```\n\nvim搜索时默认是大小写敏感的，要想实现大小写不敏感的搜索，如果仅仅是对当前打开的文件设置就用`:set ignorecase`，而永久性的设置可以到vimrc配置文件中添加一行\n\n```vim\nset ignorecase\n```\n\n## 文件搜索\n\n搜索文件有多个插件 [junegunn/fzf.vim](https://github.com/junegunn/fzf.vim)、[Yggdroot/LeaderF](https://github.com/Yggdroot/LeaderF)、[wincent/command-t](https://github.com/wincent/command-t) 和 [kien/ctrlp.vim](https://github.com/kien/ctrlp.vim)，这里使用的 [Ctrlp](https://github.com/kien/ctrlp.vim) 使用 \u003ckbd\u003eCtrl\u003c/kbd\u003e\u003ckbd\u003ep\u003c/kbd\u003e 启动文件搜索。\n\n```bash\n\u003cctrl+p\u003e # 启动搜索\n```\n\n## 插件列表\n\n这里面所有的插件，并不是都放到了我的 [.vimrc](./.vimrc) 文件中 .vimrc 配置文件中，是我个人喜欢并且习惯的配置。\n\n\u003cdetails\u003e\n\u003csummary\u003e插件管理工具\u003c/summary\u003e\n\n- [junegunn/vim-plug](https://github.com/junegunn/vim-plug)\n- [VundleVim/Vundle.vim](https://github.com/VundleVim/Vundle.vim)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e主题风格\u003c/summary\u003e\n\n- [vim-colors-solarized](https://github.com/altercation/vim-colors-solarized) 主题风格素雅 solarized\n- [molokai](https://github.com/tomasr/molokai) 主题风格多彩 molokai\n- [phd](https://github.com/vim-scripts/phd) 主题风格复古 phd\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e使用界面\u003c/summary\u003e\n\n- [Mango](https://github.com/goatslacker/mango.vim) A nice color scheme\n- [VimAirline](https://github.com/bling/vim-airline) 美化状态栏偏好设置\n- [vim-powerline](https://github.com/Lokaltog/vim-powerline) 美化状态栏\n- [vim-airline](https://github.com/vim-airline/vim-airline) 美化状态栏和配置\n- [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes) airline主题\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e管理项目\u003c/summary\u003e\n\n- [NERDTree](https://github.com/scrooloose/nerdtree) Manage your project files\n- [VimFugitive](https://github.com/tpope/vim-fugitive) Git 集成\n- [VimGitGutter](https://github.com/airblade/vim-gitgutter) Git 集成，强烈推荐！\n- [EditorconfigVim](https://github.com/editorconfig/editorconfig-vim) Shared coding conventions\n- [command-t](https://github.com/wincent/command-t) 文件搜索\n- [vim-signature](https://github.com/kshenoy/vim-signature) 书签可视化的插件\n- [BOOKMARKS--Mark-and-Highlight-Full-Lines](https://github.com/vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines) 它可以让书签行高亮\n- [tagbar](https://github.com/majutsushi/tagbar) 方法地图导航\n- [indexer.tar.gz](https://github.com/vim-scripts/indexer.tar.gz) 自动生成标签并引入\n  - [DfrankUtil](https://github.com/vim-scripts/DfrankUtil) 上面插件，依赖这个插件\n  - [vimprj](https://github.com/vim-scripts/vimprj) 上面插件，依赖这个插件\n- [ctrlsf.vim](https://github.com/dyng/ctrlsf.vim) 上下文插件，例如搜素到关键字，中间缩略，展示一段上下文\n- [vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors) 多光标编辑功能\n- [gen_tags.vim](https://github.com/jsfaint/gen_tags.vim) 生成，加载，更新ctags/gtags文件。\n- [ybian/smartim](https://github.com/ybian/smartim) 解决中文输入法下面无法使用命令\n- [Yggdroot/LeaderF](https://github.com/Yggdroot/LeaderF) 模糊查找神器，性能超越ctrlp\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e代码书写\u003c/summary\u003e\n\n- [NERDCommenter](https://github.com/scrooloose/nerdcommenter) 注释更容易\n- [DrawIt](https://github.com/vim-scripts/DrawIt) ASCII art 风格的注释\n- [VimTrailingWhitespace](https://github.com/bronson/vim-trailing-whitespace) 突出尾随空格\n- [Syntastic](https://github.com/scrooloose/syntastic) 语法检查\n- [VimEasyAlign](https://github.com/junegunn/vim-easy-align) 调整部分代码\n- [VimMultipleCursors](https://github.com/terryma/vim-multiple-cursors) Write on multiple lines easily\n- [VimJsBeautify](https://github.com/maksimr/vim-jsbeautify) Reformat JavaScript, HTML and JSON files\n- [VimYankStack](https://github.com/maxbrunsfeld/vim-yankstack) Iterate over yanked stack on paste\n- [VimSurround](https://github.com/tpope/vim-surround) Quoting and parenthesizing\n- [YouCompleteMe](https://github.com/Valloric/YouCompleteMe) 键而全的、支持模糊搜索的、高速补全的插件\n- [VimForTern](https://github.com/marijnh/tern_for_vim) Smart JavaScript autocompletion\n- [VimNode](https://github.com/moll/vim-node) Navigate through node.js code/modules\n- [VimLint](https://github.com/syngan/vim-vimlint) Linter used by syntastic for VimL\n- [VimLParser](https://github.com/ynkdir/vim-vimlparser) VimL parser (required by VimLint)\n- [emmet-vim](https://github.com/mattn/emmet-vim) 提高HTML和CSS的工作流\n- [vim-cpp-enhanced-highlight](https://github.com/octol/vim-cpp-enhanced-highlight) C++ 语法高亮支持\n- [vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides) 相同缩进的代码关联起来\n- [vim-fswitch](https://github.com/derekwyatt/vim-fswitch) 接口文件（MyClass.h）与实现文件（MyClass.cpp）快捷切换的插件\n- [MiniBufExplorer](https://github.com/fholgado/minibufexpl.vim) 显示多个 buffer 对应的 window\n- [wildfire.vim](https://github.com/gcmt/wildfire.vim) 快捷键选中 `\u003c\u003e`、`[]`、`{}` 中间的内容\n- [gundo.vim](https://github.com/sjl/gundo.vim) 让你有机会撤销最近一步或多步操作\n- [vim-easymotion](https://github.com/Lokaltog/vim-easymotion) 快速移动，两次 `\u003cleader\u003e` 作为前缀键\n- [Shougo/neocomplete.vim](https://github.com/Shougo/neocomplete.vim) 强大的自动补全插件\n- [vim-instant-markdown](https://github.com/suan/vim-instant-markdown) 编辑 markdown 文档，自动开启 firefox 为你显示 markdown 最终效果\n- [fcitx.vim](https://github.com/lilydjwg/fcitx.vim) 中/英输入平滑切换\n- [othree/xml.vim](https://github.com/othree/xml.vim) 中/提供快速编写xml/html的能力，如标签自动闭合等\n- [pangloss/vim-javascript](https://github.com/pangloss/vim-javascript) 提供js代码的智能缩进，仅使用了他的indent功能\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e代码阅读\u003c/summary\u003e\n\n- 语法高亮\n  - [vim-polyglot](https://github.com/sheerun/vim-polyglot) 支持常见的语法高亮\n  - [VimJson](https://github.com/elzr/vim-json) JSON 高亮和隐藏引号\n  - [vim-jsx](https://github.com/mxw/vim-jsx) JSX语法高亮\n  - [vim-jsx-typescript](https://github.com/peitalin/vim-jsx-typescript) TSX 语法高亮\n  - [YaJS](https://github.com/othree/yajs.vim) JavaScript 语法 (ES5 and ES6)\n  - [vim-css3-syntax](https://github.com/hail2u/vim-css3-syntax) CSS3 高亮，包括stylus,Less,Sass\n  - [vim-css-color](https://github.com/skammer/vim-css-color) css高亮颜色\n  - [gko/vim-coloresque](https://github.com/gko/vim-coloresque) css高亮颜色\n  - [ScssSyntax](https://github.com/cakebaker/scss-syntax.vim) SCSS syntax\n  - [HTML5](https://github.com/othree/html5.vim) HTML5 syntax\n  - [Stylus](https://github.com/wavded/vim-stylus) Stylus 代码高亮\n- [JavaScriptLibrariesSyntax](https://github.com/othree/javascript-libraries-syntax.vim) 语法高亮的知名的JS库\n- [ultisnips](https://github.com/SirVer/ultisnips) 模板补全插件\n- [vim-protodef](https://github.com/derekwyatt/vim-protodef) 根据类声明自动生成类实现的代码框架\n\n\u003c/details\u003e\n\n## 参考资料\n\n- [vim 大冒险：在游戏中学习 vim](http://vim-adventures.com/)\n- [一起来说 Vim 语](http://www.jianshu.com/p/a361ce8c97bc)\n- [css-color stopped working after updating Vim to 7.4](https://github.com/ap/vim-css-color/issues/29)\n- [我的VIM配置及说明【K-VIM】](http://www.wklken.me/posts/2013/06/11/linux-my-vim.html)\n- [简明 VIM 练级攻略](http://coolshell.cn/articles/5426.html)\n- [Vi中的正则表达式](http://tech.idv2.com/2008/07/08/vim-regexp/)\n- [vi替换字符串（zz）](http://blog.csdn.net/aldenphy/article/details/4019486)\n\n## 其它人的vimrc配置\n\n- [luofei614/vim-plug](https://github.com/luofei614/vim-plug/blob/master/.vimrc)\n- [yangyangwithgnu/use_vim_as_ide](https://github.com/yangyangwithgnu/use_vim_as_ide/blob/master/.vimrc)\n- [fingertap/vimrc](https://github.com/fingertap/vimrc/blob/master/.vimrc)\n- [barretlee/autoconfig-mac-vimrc](https://github.com/barretlee/autoconfig-mac-vimrc/blob/master/.vimrc)\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\u003ca href=\"https://github.com/jaywcjlove/vim-web/graphs/contributors\"\u003e\n  \u003cimg src=\"https://jaywcjlove.github.io/vim-web/CONTRIBUTORS.svg\" /\u003e\n\u003c/a\u003e\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n\n\u003c!--idoc:config:\nlogo: ./vim.svg\nfavicon: \"./vim.svg\"\neditButton: \n  label: Edit this page on GitHub\n  url: https://github.com/jaywcjlove/vim-web/blob/master/\nfooter: |\n  Released under the MIT License. Copyright © 2022 Kenny Wong\u003cbr /\u003e\n  Generated by \u003ca href=\"https://github.com/jaywcjlove/idoc\" target=\"_blank\"\u003eidoc\u003c/a\u003e v{{idocVersion}}\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaywcjlove%2Fvim-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaywcjlove%2Fvim-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaywcjlove%2Fvim-web/lists"}