Vim-vimplus配置
Vim-Vimplus配置
An automatic configuration program for vim
安装(github地址:https://github.com/chxuan/vimplus.git, 欢迎star和fork)
========Git方式========
git clone https://gitee.com/luoxian1011/vimplus.git ~/.vimplus
git clone https://gitee.com/chxuan/YouCompleteMe-clang.git ~/.vim/plugged/YouCompleteMe
git clone https://gitee.com/luoxian1011/ale.git ~/.vim/plugged/ale
# git clone https://gitee.com/chxuan/vim82.git ~/vim82
cd ~/.vimplus && bash install.sh
========本地上传方式========
# 1、上传vimplus.zip
# sudo apt-get install unzip
unzip vimplus.zip -d ~/.vimplus
cd ~/.vimplus && bash install.sh
# 2、安装语法检查-pyflakes(wsl)
# https://github.com/dense-analysis/ale/blob/master/supported-tools.md
# sudo apt-get install python3-pip -y
# sudo apt-get install flake8 -y
# pip3 install flake8 -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip3 install pylint -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pyflakes -i https://pypi.tuna.tsinghua.edu.cn/simple
####################附注####################################
# 安装YouCompleteMe自动补全
cd ~/.vim/plugged/YouCompleteMe
./install.py
# 刷新zsh插件
sed -i 's/plugins.*/plugins=(git zsh-autosuggestions zsh-syntax-highlighting pip)/g' ~/.zshrc
source ~/.zshrc
# 在ubuntu上源代码安装vim
function compile_vim_on_ubuntu()
{
vim --version | head -1 | grep 'IMproved 8.2' && return
sudo apt-get install -y libncurses5-dev libncurses5 libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby-dev lua5.1 lua5.1-dev
# rm -rf ~/vim82
git clone https://gitee.com/chxuan/vim82.git ~/vim82
cd ~/vim82
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-pythoninterp \
--enable-perlinterp \
--enable-luainterp \
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr
make
sudo make install
cd -
}
Mac OS X
-
安装HomeBrew
/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
Ubuntu
-
版本要求
ubuntu16.04
及其以上系统。 -
安装vimplus(建议在普通用户下安装)
git clone https://github.com/chxuan/vimplus.git ~/.vimplus cd ~/.vimplus ./install.sh
Centos
-
版本要求
centos7
及其以上系统。 -
安装vimplus(建议在普通用户下安装)
git clone https://github.com/chxuan/vimplus.git ~/.vimplus cd ~/.vimplus ./install.sh
ArchLinux
-
安装vimplus
git clone https://github.com/chxuan/vimplus.git ~/.vimplus cd ~/.vimplus ./install.sh
个性化
修改 ~/.vimrc.local
文件内容,以启用个性化定制,可覆盖 ~/.vimrc
中的设置。
插件列表
插件 | 说明 |
---|---|
cpp-mode | 提供生成函数实现、函数声明/实现跳转、.h .cpp切换等功能(I'm author😄) |
vim-edit | 方便的文本编辑插件(I'm author😄) |
change-colorscheme | 随心所欲切换主题(I'm author😄) |
prepare-code | 新建文件时,生成预定义代码片段(I'm author😄) |
vim-buffer | vim缓存操作(I'm author😄) |
vimplus-startify | vimplus开始页面(修改自mhinz/vim-startify) |
tagbar | 使用majutsushi/tagbar的v2.3版本,taglist的替代品,显示类/方法/变量 |
vim-plug | 比Vundle下载更快的插件管理软件 |
YouCompleteMe | 史上最强大的基于语义的自动补全插件,支持C/C++、C#、Python、PHP等语言 |
NerdTree | 代码资源管理器 |
vim-nerdtree-syntax-highlight | NerdTree文件类型高亮 |
nerdtree-git-plugin | NerdTree显示git状态 |
vim-devicons | 显示文件类型图标 |
Airline | 可以取代powerline的状态栏美化插件 |
auto-pairs | 自动补全引号、圆括号、花括号等 |
LeaderF | 比ctrlp更强大的文件的模糊搜索工具 |
ack | 强大的文本搜索工具 |
vim-surround | 自动增加、替换配对符的插件 |
vim-commentary | 快速注释代码插件 |
vim-repeat | 重复上一次操作 |
vim-endwise | if/end/endif/endfunction补全 |
tabular | 代码、注释、表格对齐 |
vim-easymotion | 强大的光标快速移动工具,强大到颠覆你的插件观 |
incsearch.vim | 模糊字符搜索插件 |
markdown-preview | markdown实时预览 |
vim-fugitive | 集成Git |
gv | 显示git提交记录 |
vim-slash | 优化搜索,移动光标后清除高亮 |
echodoc | 补全函数时在命令栏显示函数签名 |
vim-smooth-scroll | 让翻页更顺畅 |
clever-f.vim | 强化f和F键 |
github-complete.vim | Emoji🐶补全 |
vimcdoc | vim中文文档 |
快捷键
以下是部分快捷键,更详细的快捷键请查阅vimplus帮助文档。
快捷键 | 说明 |
---|---|
, |
Leader Key |
<leader>n |
打开/关闭代码资源管理器 |
<leader>t |
打开/关闭函数列表 |
<leader>a |
.h .cpp 文件切换 |
<leader>u |
转到函数声明 |
<leader>U |
转到函数实现 |
<leader>o |
打开include文件 |
<leader>y |
拷贝函数声明 |
<leader>p |
生成函数实现 |
<leader>w |
单词跳转 |
<leader>f |
搜索~目录下的文件 |
<leader>F |
搜索当前目录下的文本 |
<leader>g |
显示git仓库提交记录 |
<leader>G |
显示当前文件提交记录 |
<leader>gg |
显示当前文件在某个commit下的完整内容 |
<leader>ff |
语法错误自动修复(FixIt) |
<c-p> |
切换到上一个buffer |
<c-n> |
切换到下一个buffer |
<leader>d |
删除当前buffer |
<leader>D |
删除当前buffer外的所有buffer |
vim |
运行vim编辑器时,默认启动开始页面 |
<F5> |
显示语法错误提示窗口 |
<F7> |
启用markdown实时预览 |
<F8> |
关闭markdown实时预览 |
<F9> |
显示上一主题 |
<F10> |
显示下一主题 |
<leader>l |
按竖线对齐 |
<leader>= |
按等号对齐 |
Ya |
复制行文本到字母a |
Da |
剪切行文本到字母a |
Ca |
改写行文本到字母a |
rr |
替换文本 |
<leader>r |
全局替换,目前只支持单个文件 |
gcc |
注释代码 |
gcap |
注释段落 |
vif |
选中函数内容 |
dif |
删除函数内容 |
cif |
改写函数内容 |
vaf |
选中函数内容(包括函数名 花括号) |
daf |
删除函数内容(包括函数名 花括号) |
caf |
改写函数内容(包括函数名 花括号) |
fa |
查找字母a,然后再按f键查找下一个 |
<c-x><c-o> |
Emoji🐶补全 |
按需加载插件
为了提高 vim 的启动速度, 我们期望某些插件只有在特定的情况下才被加载. 例如我们希望 vim-go
插件只有在编辑 go 类型的文件时才会被打开, 便可以通过如下方法实现:
Plug 'https://github.com/fatih/vim-go.git', {'for': 'go'}
其中 for
后面的文件类型也可以使用列表, 如 {'for': ['go', 'golang']}
.
同时, 也可以在调用命令的时候加载插件, 如:
Plug 'https://github.com/Yggdroot/indentLine', {'on' : 'IndentLinesToggle'}
这段代码的意思是只有 IndentLinesToggle
被调用时, 对应的插件才会被加载. on
后面也可以使用列表.
Q & A
-
安装vimplus后Airline等插件有乱码,怎么解决?
linux和mac系统需设置终端字体为
Droid Sans Mono Nerd Font
。 -
xshell连接远程主机不能使用vim-devicons或乱码。
windows系统安装Nerd Font字体后并更改xshell字体即可。
-
安装vimplus会经常失败,安装了几次都不成功!!!
vimplus安装时需要访问外国网站,由于网络原因,可能会失败,安装成功也要1个多小时,ycm插件有200M左右,下载比较耗时,这里有下载好的YouCompleteMe.tar.gz文件,下载后解压到~/.vim/plugged/目录,并进入YouCompleteMe目录执行
./install.py --clang-completer
即可安装。 -
使用第三方库时怎么让ycm补全第三方库API?
vimplus安装完毕之后,
~
目录下将会生成两个隐藏文件分别是.vimrc和.ycm_extra_conf.py,其中.vimrc是vim的配置文件,.ycm_extra_conf.py是ycm插件的配置文件,当你需要创建一个project时,需要将.ycm_extra_conf.py拷贝到project的顶层目录,通过修改该配置文件里面的flags
变量来添加你的第三方库路径。 -
安装vimplus完成后ycm不能够工作!!!
这里的原因可能就有很多了,可能每个人遇到的问题不一样,但
vimplus
尽最大努力不让用户操心,需要注意的是ycm插件只支持64
位的系统,更多信息请访问ycm官网。 -
在aaa用户下安装了vimplus,在bbb用户下不能使用?
目前vimplus是基于用户的,如果你想在其他用户下也能使用vimplus,也需要单独安装。
-
在Archlinux环境下不能使用ycm怎么办?(缺少libtinfo.so.5)
在Archlinux下可以试着使用pkgfile命令搜索依赖的文件具体在什么包内,目前找到的包含libtinfo.so.5的包是ncurses5-compat-libs(AUR)或者32位的lib32-ncurses5-compat-libs(AUR),安装后即可正常使用。
-
以上没有我遇到的问题怎么办?
您可以通过上网找解决方法,或提Issues,也可以通过发邮件方式
787280310@qq.com
一起讨论解决方法。 -
vimplus用起来真的太棒了,怎么办?
那就麻烦您打赏一颗⭐⭐吧,给予我继续维护的动力。
特性展示
-
YouCompleteMe
-
cpp-mode
-
LeaderF
-
vim-airline
-
vim-surround
-
vim-commentary
-
auto-pairs
-
vim-easymotion
-
vim-devicons
-
vim-startify
-
markdown-preview
兴趣是最好的老师,我的github地址:https://github.com/chxuan