文章目录
前言
vim的强大不仅强大在它的几乎全键盘的快捷键,更强大在它的插件。
这篇文章助你打造一款属于自己的vim。有人说,我用vscode它不香吗,但作为一个喜欢动手党,我更想自己动,起码可以学习一些关于插件的小知识。(maybe你也可能用Obsidian这样的软件,这款软件想用起来顺手,也必然少不了各式各样的插件)
一、使用插件前后对比
安装插件前的样子:
不说别的,就这个紫色我就不喜欢,且初使用vim时各种拼写不检查,语法不报错种种问题,那种痛处,想必每个使用vim的人都经历过一遍。
目前我的vim大致长这个样子:
想要用的达到vscode的便利性,至少需要语法检查,目录树,函数列表,能同时打开多个buffer,以及代码跳转。
下面介绍一些好用的插件及其安装:
二、插件
插件管理Vim-plug
只要你安装插件,这款必不可少。首先将这款插件手动下载下来,插件下载地址:https://github.com/junegunn/vim-plug 若是无法访问github的小伙伴,推荐去码云https://gitee.com瞅一瞅,总有些意想不到的惊喜哦。下载后解压到~/.vim
目录中,接下来在终端中运行
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
插件安装之后,还需要在~/.vimrc
中配置和声明,请在 ~/.vimrc 的顶部添加以下行
call plug#begin()
" The default plugin directory will be as follows:
" - Vim (Linux/macOS): '~/.vim/plugged'
" - Vim (Windows): '~/vimfiles/plugged'
" - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged'
" You can specify a custom plugin directory by passing it as the argument
" - e.g. `call plug#begin('~/.vim/plugged')`
" - Avoid using standard Vim directory names like 'plugin'
" Make sure you use single quotes
" Unmanaged plugin (manually installed and updated)
Plug '~/my-prototype-plugin'
" Initialize plugin system
call plug#end()
在配置文件中,注释用" "
来表示,使用vim-plug来安装其他的插件格式如:Plug '~/my-prototype-plugin'
。
所有通过vim-plug安装的插件,请把代码写在call plug#begin()
和call plug#end()
之间。
重新加载 .vimrc 并安装插件。请在vim中使用命令:PlugInstall
使用
$ vim #打开vim
:PlugStatus #查看插件状态
:PlugInstall #安装之前在配置文件中声明的插件
:PlugUpdate #更新插件
:PlugDiff #查看插件的变化状态,简单地回滚有问题的插件。
:PlugClean #删除插件
YouCompleteMe
插件如其名,号称最强大最智能的vim补全插件。什么都好,唯一的缺点:安装困难(依赖环境较复杂)
安装此插件需要一些前置条件:首先你的python版本要大于3.6,且官方文档中说ycmd已经更新到C++17,所以要求gcc版本至少为8,clang版本至少为7,CMake版本至少为3.13。
下面咱们一起来安装:
gcc 安装:
在终端中输入
sudo apt update
sudo apt install build-essential
这个命令将会安装一系列软件包,包括gcc,g++,和make
在终端中输入:
sudo apt install python3-pip
CMake安装:
安装pip(安装cmake使用)(默认你们电脑都安装了python3了)
YCM 需要 CMake 3.13 或更高版本。如果你的CMake太旧了,你可以简单地得到一个非常新的版本。pip install --user cmake
推荐的安装方式(源码编译安装):
首先去cmake官方下载.tar.gz
文件,执行
$ tar zxvf 文件名
# 注释
# 进入解压后的cmake文件夹
$ ./bootstrap
# 编译
$ make
# 安装
$ sudo make install
YCM安装:
在~/.vimrc
中加入Plug 'Valloric/YouCompleteMe'
,
vim-plug包补全
vim-plug 安装完成后,为了避免包缺失,在 ~/.vim/plugged/YouCompleteMe下运行命令。
当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:
git submodule update --init --recursive
即可将子模块内容下载下来后工程才不会缺少相应的文件。
YCM配置:
~/.vimrc
中加入
youcompleteme 默认tab s-tab 和自动补全冲突
"let g:ycm_key_list_select_completion=['<c-n>']
"let g:ycm_key_list_select_completion = ['<Down>']
"let g:ycm_key_list_previous_completion=['<c-p>']
"let g:ycm_key_list_previous_completion = ['<Up>']
let g:ycm_confirm_extra_conf=0 "关闭加载.ycm_extra_conf.py提示
let g:yc