Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chxuan/vimplus
:rocket:An automatic configuration program for vim
https://github.com/chxuan/vimplus
docker linux macosx vim vimplus wsl
Last synced: 3 days ago
JSON representation
:rocket:An automatic configuration program for vim
- Host: GitHub
- URL: https://github.com/chxuan/vimplus
- Owner: chxuan
- License: mit
- Created: 2016-04-10T01:51:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-06-05T17:34:10.000Z (6 months ago)
- Last Synced: 2024-12-03T07:05:11.515Z (10 days ago)
- Topics: docker, linux, macosx, vim, vimplus, wsl
- Language: Vim script
- Homepage: https://github.com/chxuan/vimplus
- Size: 12.5 MB
- Stars: 3,932
- Watchers: 125
- Forks: 1,132
- Open Issues: 260
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - chxuan/vimplus - :rocket:An automatic configuration program for vim (Vim Script)
README
![vimplus-logo][1]
An automatic configuration program for vim
===============================================![main][2]
## 安装
### Mac OS X
#### 安装[HomeBrew][3]
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"#### 安装vimplus
git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh
注: apline用户请预先安装git,bash: apk add git bash#### 设置Nerd Font
为防止vimplus显示乱码,需设置mac终端字体为`Droid Sans Mono Nerd Font`。
#### 更新vimplus
紧跟vimplus的步伐,尝鲜新特性
./update.sh
### Linux 64-bit
#### 支持以下发行版
#### 安装vimplus
git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh //不加sudo
#### 设置Nerd Font为防止vimplus显示乱码,需设置linux终端字体为`Droid Sans Mono Nerd Font`。
#### 多用户支持
将vimplus在某个用户下安装好后,若需要在其他用户也能够使用vimplus,则执行
sudo ./install_to_user.sh username1 username2 //替换为真实用户名
#### 更新vimplus紧跟vimplus的步伐,尝鲜新特性
./update.sh
### Android 64-bit([Termux][87])
#### 安装vimplus
git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh
#### 更新vimplus紧跟vimplus的步伐,尝鲜新特性
./update.sh
### Docker
[ubuntu-vimplus][79]是vimplus基于ubuntu18.04的docker镜像,无需安装vimplus,即可快速体验vimplus带来的快乐
docker run -it chxuan/ubuntu-vimplus
## 自定义
> * [~/.vimrc][82]为vimplus的默认配置,一般不做修改
> * [~/.vimrc.custom.plugins][83]为用户自定义插件列表,用户增加、卸载插件请修改该文件
> * [~/.vimrc.custom.config][84]为用户自定义配置文件,一般性配置请放入该文件,可覆盖[~/.vimrc][82]里的配置## 插件列表
| 插件 | 说明 |
| ------- | ----- |
| [cpp-mode][58] | 提供生成函数实现、函数声明/实现跳转、.h .cpp切换等功能(I'm author:smile:) |
| [vim-edit][72] | 方便的文本编辑插件(I'm author:smile:) |
| [change-colorscheme][27] | 随心所欲切换主题(I'm author:smile:) |
| [prepare-code][67] | 新建文件时,生成预定义代码片段(I'm author:smile:) |
| [vim-buffer][70] | vim缓存操作(I'm author:smile:) |
| [vimplus-startify][66] | vimplus开始页面(修改自[mhinz/vim-startify][25]) |
| [tagbar][13] | 使用[preservim/tagbar][13]的最新版本,[taglist][14]的替代品,显示类/方法/变量 |
| [vim-plug][4] | 比[Vundle][54]下载更快的插件管理软件 |
| [YouCompleteMe][5] | 史上最强大的基于语义的自动补全插件,支持C/C++、C#、Python、PHP等语言 |
| [NerdTree][6] | 代码资源管理器 |
| [vim-nerdtree-syntax-highlight][52] | NerdTree文件类型高亮 |
| [nerdtree-git-plugin][53] | NerdTree显示git状态 |
| [vim-devicons][15] | 显示文件类型图标 |
| [Airline][8] | 可以取代[powerline][9]的状态栏美化插件 |
| [auto-pairs][10] | 自动补全引号、圆括号、花括号等 |
| [LeaderF][56] | 比[ctrlp][12]更强大的文件的模糊搜索工具 |
| [ack][62] | 强大的文本搜索工具 |
| [vim-surround][16] | 自动增加、替换配对符的插件 |
| [vim-commentary][17] | 快速注释代码插件 |
| [vim-repeat][18] | 重复上一次操作 |
| [vim-endwise][19] | if/end/endif/endfunction补全 |
| [tabular][20] | 代码、注释、表格对齐 |
| [vim-easymotion][23] | 强大的光标快速移动工具,强大到颠覆你的插件观 |
| [incsearch.vim][24] | 模糊字符搜索插件 |
| [vim-fugitive][36] | 集成Git |
| [gv][64] | 显示git提交记录 |
| [vim-slash][50] | 优化搜索,移动光标后清除高亮 |
| [echodoc][57] | 补全函数时在命令栏显示函数签名 |
| [vim-smooth-scroll][60] | 让翻页更顺畅 |
| [clever-f.vim][68] | 强化f和F键 |## 快捷键
以下是部分快捷键,可通过vimplus的`,h`命令查看[vimplus帮助文档][59]。
| 快捷键 | 说明 |
| ------- | ----- |
| `,` | Leader Key |
| `n` | 打开/关闭代码资源管理器 |
| `t` | 打开/关闭函数列表 |
| `a` | .h .cpp 文件切换 |
| `u` | 转到函数声明 |
| `U` | 转到函数实现 |
| `u` | 转到变量声明 |
| `o` | 打开include文件 |
| `y` | 拷贝函数声明 |
| `p` | 生成函数实现 |
| `w` | 单词跳转 |
| `f` | 搜索~目录下的文件 |
| `F` | 搜索当前目录下的文本 |
| `g` | 显示git仓库提交记录 |
| `G` | 显示当前文件提交记录 |
| `gg` | 显示当前文件在某个commit下的完整内容 |
| `ff` | 语法错误自动修复(FixIt) |
| `` | 切换到上一个buffer |
| `` | 切换到下一个buffer |
| `d` | 删除当前buffer |
| `D` | 删除当前buffer外的所有buffer |
| `vim` | 运行vim编辑器时,默认启动开始页面 |
| `` | 显示语法错误提示窗口 |
| `` | 显示上一主题 |
| `` | 显示下一主题 |
| `l` | 按竖线对齐 |
| `=` | 按等号对齐 |
| `Ya` | 复制行文本到字母a |
| `Da` | 剪切行文本到字母a |
| `Ca` | 改写行文本到字母a |
| `rr` | 替换文本 |
| `r` | 全局替换,目前只支持单个文件 |
| `rev` | 翻转当前光标下的单词或使用V模式选择的文本 |
| `gcc` | 注释代码 |
| `gcap` | 注释段落 |
| `vif` | 选中函数内容 |
| `dif` | 删除函数内容 |
| `cif` | 改写函数内容 |
| `vaf` | 选中函数内容(包括函数名 花括号) |
| `daf` | 删除函数内容(包括函数名 花括号) |
| `caf` | 改写函数内容(包括函数名 花括号) |
| `fa` | 查找字母a,然后再按f键查找下一个 |
| `e` | 快速编辑~/.vimrc文件 |
| `s` | 重新加载~/.vimrc文件 |
| `vp` | 快速编辑~/.vimrc.custom.plugins文件 |
| `vc` | 快速编辑~/.vimrc.custom.config文件 |
| `h` | 打开vimplus帮助文档 |
| `H` | 打开当前光标所在单词的vim帮助文档 |
| `t` | 生成try-catch代码块 |
| `y` | 复制当前选中到系统剪切板 |
| `i` | 安装插件 |
| `u` | 更新插件 |
| `c` | 删除插件 |## FAQ
- **`vimplus怎么安装新插件?`**
编辑[~/.vimrc.custom.plugins][83],添加自定义插件。
- **`vimplus怎么添加自定义配置?`**
编辑[~/.vimrc.custom.config][84],添加自定义配置。
- **`vimplus安装脚本会在自己电脑上安装哪些软件?`**
网络良好情况下,vimplus只需30分钟左右即可将vim cpp环境配置好,vimplus真正的做到了一键配置,不让用户操心。vimplus会安装一些必备软件,比如说python、cmake、gcc、fontconfig等,vimplus也考虑到了有些系统的vim不支持python,它会自动去下载vim源码将python支持编译进去,vimplus也会安装nerd-font不让vim显示出现乱码,最最重要的是vimplus实现了ycm自动编译安装,给折腾了几天ycm都没有安装好的用户带来了新的希望,而且vimplus也支持macos和linux众多发行版,让linux发烧友频繁切换发行版而不用操心vim环境配置。最后说了这么多,不如看[vimplus安装脚本][78]来的直接:smile:。
- **`启动vim报错:RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.`**
可以尝试将cryptography删掉,具体见[issues #208][81]。
- **`vimplus不支持目前用户正在使用的系统怎么办?`**
可以给作者提[Issues][39],或者自己fork vimplus来修改,并提交pr,贡献自己的一份力量。
- **`安装vimplus后Airline等插件有乱码,怎么解决?`**
linux和mac系统需设置终端字体为`Droid Sans Mono Nerd Font`。
- **`xshell连接远程主机不能使用vim-devicons或乱码。`**
windows系统安装[Nerd Font][51]字体后并更改xshell字体即可。
- **`ubuntu18.04安装了nerd font但通过终端属性并没有看到该字体。`**
可以试试dconf-editor软件来设置,可以参考[这里][76]。
- **`使用第三方库时怎么让ycm补全第三方库API?`**
vimplus安装完毕之后,`~`目录下将会生成两个隐藏文件分别是.vimrc和.ycm_extra_conf.py,其中.vimrc是vim的配置文件,.ycm_extra_conf.py是ycm插件的配置文件,当你需要创建一个project时,需要将.ycm_extra_conf.py拷贝到project的顶层目录,通过修改该配置文件里面的`flags`变量来添加你的第三方库路径。
- **`使用vi命令报错:E492: Not an editor command:`**
vimplus安装完成后,linux下可能会同时存在vi和vim命令,执行vi时,vi加载~/.vimrc文件可能会报错,但不影响使用,如果要消除错误可以设置软链接`ln -s /usr/bin/vim /usr/bin/vi`
- **`怎么自定义文件头,比如说添加作者、创建时间?`**
你可以修改[chxuan/prepare-code][67]插件来达到目的,可以参考[这里][77]。
- **`安装vimplus在“[ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o”等进度时出现编译报错`**
编译ycm需要消耗较大内存,建议内存大于1G,实在不行也可以开启linux swap分区。
- **`以上没有我遇到的问题怎么办?`**
您可以通过上网找解决方法,或提[Issues][39],也可以通过加QQ`787280310`、发邮件方式`[email protected]`一起讨论解决方法。
- **`vimplus用起来真的太棒了,怎么办?`**
那就麻烦您打赏一颗:star::star:吧,给予我继续维护的动力。
## 贡献者
> 有代码贡献或有好的建议,帮助vimplus发展的小伙伴
## 支持开源:heart:
> 有意愿献爱心的小伙伴,务必将github账号写入捐款备注哦,谢谢大家
| wechat | alipay |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| | || 序号 | 支持者 | RMB | 时间 |
| ----- | ------- | ----- | ----- |
| 1 | [zhoumengkang][80] | ¥50 | 2019-09-28 |
| 2 | [zhoumengkang][80] | ¥50 | 2019-09-29 |
| 3 | [zibraque][85] | ¥50 | 2019-11-25 |
| 4 | [gfreewind][86] | ¥20 | 2019-12-27 |
| 5 | [wh656325437][88] | ¥20 | 2020-07-02 |
| 6 | [luguifang][89] | ¥20 | 2020-07-12 |
| 7 | [liyewen521][90] | ¥20 | 2020-07-27 |
| 8 | [xht19980305][91] | ¥20 | 2020-08-14 |## vimplus:star:趋势图
![Stargazers over time](https://starchart.cc/chxuan/vimplus.svg)
## License
This software is licensed under the [MIT license][75]. © 2016 chxuan
[1]: https://raw.githubusercontent.com/chxuan/vimplus/master/screenshots/vimplus-logo.png
[2]: https://raw.githubusercontent.com/chxuan/vimplus/master/screenshots/main.png
[3]: https://brew.sh/
[4]: https://github.com/junegunn/vim-plug
[5]: https://github.com/Valloric/YouCompleteMe
[6]: https://github.com/preservim/nerdtree
[8]: https://github.com/vim-airline/vim-airline
[9]: https://github.com/powerline/powerline
[10]: https://github.com/jiangmiao/auto-pairs
[12]: https://github.com/ctrlpvim/ctrlp.vim
[13]: https://github.com/preservim/tagbar
[14]: https://github.com/vim-scripts/taglist.vim
[15]: https://github.com/ryanoasis/vim-devicons
[16]: https://github.com/tpope/vim-surround
[17]: https://github.com/tpope/vim-commentary
[18]: https://github.com/tpope/vim-repeat
[19]: https://github.com/tpope/vim-endwise
[20]: https://github.com/godlygeek/tabular
[23]: https://github.com/easymotion/vim-easymotion
[24]: https://github.com/haya14busa/incsearch.vim
[25]: https://github.com/mhinz/vim-startify
[27]: https://github.com/chxuan/change-colorscheme
[36]: https://github.com/tpope/vim-fugitive
[38]: https://github.com/Valloric/YouCompleteMe
[39]: https://github.com/chxuan/vimplus/issues
[50]: https://github.com/junegunn/vim-slash
[51]: https://github.com/ryanoasis/nerd-fonts
[52]: https://github.com/tiagofumo/vim-nerdtree-syntax-highlight
[53]: https://github.com/Xuyuanp/nerdtree-git-plugin
[54]: https://github.com/VundleVim/Vundle.vim
[56]: https://github.com/Yggdroot/LeaderF
[57]: https://github.com/Shougo/echodoc.vim
[58]: https://github.com/chxuan/cpp-mode
[59]: https://github.com/chxuan/vimplus/blob/master/help.md
[60]: https://github.com/terryma/vim-smooth-scroll
[62]: https://github.com/mileszs/ack.vim
[64]: https://github.com/junegunn/gv.vim
[66]: https://github.com/chxuan/vimplus-startify
[67]: https://github.com/chxuan/prepare-code
[68]: https://github.com/rhysd/clever-f.vim
[70]: https://github.com/chxuan/vim-buffer
[72]: https://github.com/chxuan/vim-edit
[75]: https://github.com/chxuan/vimplus/blob/master/LICENSE
[76]: https://blog.csdn.net/wang73ying/article/details/82491993
[77]: https://blog.csdn.net/liuyangbo121/article/details/82971736
[78]: https://github.com/chxuan/vimplus/blob/master/install.sh
[79]: https://hub.docker.com/r/chxuan/ubuntu-vimplus
[80]: https://github.com/zhoumengkang
[81]: https://github.com/chxuan/vimplus/issues/208
[82]: https://github.com/chxuan/vimplus/blob/master/.vimrc
[83]: https://github.com/chxuan/vimplus/blob/master/.vimrc.custom.plugins
[84]: https://github.com/chxuan/vimplus/blob/master/.vimrc.custom.config
[85]: https://github.com/zibraque
[86]: https://github.com/gfreewind
[87]: https://termux.com/
[88]: https://github.com/wh656325437
[89]: https://github.com/luguifang
[90]: https://github.com/liyewen521
[91]: https://github.com/xht19980305