Windows环境
插件管理器
VIM的插件管理器主要有vim-plug和vundle
Vim-plug
首先下载vim-plug,可以去github下载
下载完成后解压压缩包将plug.vim复制到vim安装目录下的autoload文件夹下,即可完成vim-plug的安装。
- 使用管理员身份运行gvim,,然后点击gvim的“编辑”——“启动设定”,打开_vimrc配置文件。
插件安装示例
在_vimrc中添加如下的内容,这里以vim-plug下载nerdtree插件为例。设置完成后保存设置。
|
|
常用操作
命令 | 解释 |
---|---|
:PlugStatus | 查看插件安装状态 |
:PlugInstall | 安装在_vimrc中配置的插件。注意命令的大小写,执行后vim-plug会自动克隆并安装插件 |
:PlugUpdate | 更新插件 |
:PlugClean | 清理插件(需要先在_vimrc中删除或注释) |
:PlugUpgrade | 更新vim-plug |
Vundle
首先下载vundle,可以去github下载
下载完成后解压压缩包到vim安装目录下的bundle文件夹下(没有就新建),即可完成vundle的安装。
- 使用管理员身份运行gvim,,然后点击gvim的“编辑”——“启动设定”,打开_vimrc配置文件。
插件安装示例
在_vimrc中添加如下的内容,这里以vundle下载nerdtree插件为例。设置完成后保存设置。
|
|
常用操作
命令 | 解释 |
---|---|
:PluginList | 查看插件安装状态 |
:PluginInstall | 安装在_vimrc中配置的插件。注意命令的大小写,执行后vundle会自动克隆并安装插件 |
:PluginUpdate | 更新插件 |
:PluginClean | 清理插件(需要先在_vimrc中删除或注释) |
:PluginSearch | 搜索插件,例如:PluginSearch xml可以搜到xml相关的插件 |
Python自动补全
Python自动补全插件这里主要使用jedi-vim,具体配置步骤如下:
在_vimrc中添加如下的内容,设置完成后保存设置。
|
|
然后在gvim中输入:PlugInstall
安装jedi-vim插件
注意:
Vim和版本一定要和Python相匹配,即32位Vim配32位Python, 64位Vim配64位Python。
Vim使用Python编译的版本一定要和电脑上安装的Python版本对应,可能会出现如下错误:
|
|
或者在gvim中输入:python3 print("Hello world")
出现如下类似的错误:
|
|
那么可以在_vimrc中添加如下命令指定Python3版本:
|
|
由于笔者安装的vim8.1使用的是Python3.7编译,但是电脑环境装的是Python3.6,我们可以通过上面配置来解决Windows环境中gvim不支持python3.6的问题。
C/C++自动补全
C/C++自动补全插件这里主要使用ctags + OmniCppComplete方案,具体配置步骤如下:
Ctags 全名 Exuberant Ctags,是一个独立的程序。它可以为各种语言的源代码生成语言元素(language object)索引文件。对于 C/C++ 而言,就是把源代码中的各种宏、函数、类、类成员等等元素和它们的相关信息生成索引文件,供其它程序使用。OmniCppComplete 是专为 C/C++ 编写的OmniComplete一个补全脚本,它根据 Ctags 生成的索引文件对代码进行补全。
安装Ctags
- 从Ctags官网下载 Ctags 可执行文件
- 将下载到的文件(仅 EXE 文件即可)解压到一个目录,例如 C:/ctags
- 将该目录加入环境变量 PATH
生成索引文件
以生成 C++ 标准库索引文件为例:
下载专为 Ctags 修改过的 libstdc++ 头文件
将其解压到一个目录,例如 C:/ctags/cpp_src
使用命令行进入 D:/ctags/cpp_src 后执行:
|
|
建议将上一步生成的 C:/ctags/cpp_src/cpp 文件放到一个专门放置索引文件的目录以便后面的统一设置,例如放到 C:/ctags/tags
其它库的索引文件也可以依法炮制,只需切换到该库的 include 文件夹,执行:
|
|
安装OmniCppComplete
- 使用插件管理器安装OmniCppComplete
- 修改VIM配置文件_vimrc,加入如下内容:
|
|
在插入模式编辑 C/C++ 源文件时按下 . 或 -> 或 ::,或者手动按下 Ctrl+X Ctrl+O 后就会弹出自动补全窗口,此时可以用 Ctrl+N 和 Ctrl+P 上下移动光标进行选择。
自动生成tags文件
omni插件的补全是依赖于tags文件的,因此需要我们手动建立tags文件:
|
|
我们可以通过下面的代码让vim在保存文件后自动生成tags文件:
|
|
其中silent!表示静默运行命令,不然每次保存文件的时候,Vim 总是会有一个”ctags 执行完毕“的提示,按任意键确认。
生产力插件
Python代码检查:flake8
- 实用插件管理器安装flake8
- 配置_vimrc文件
|
|
注释/取消注释:vim-commentary
这个插件可以快速注释与反注释多行内容, 但是它的注释符使用的是 commentstring, 默认是 / %s /, 但这个值满足不了Python 和 Shell这样的语言, 在 _vimrc 添加如下内容
|
|
普通模式下gcc 指令可以注释/取消注释
可视模式下gc 命令可以注释/撤销注释
缩进提示:indentLine
indentLine是一款Vim下用于显示缩进指示线的插件。对于Python、Golang等靠代码缩进来标识代码块的语言来说,indentLine提供的缩进指示功能非常有用。indentLine安装之后即可使用,不需要额外的配置。
设置indentLine:
|
|
实用配置
代码折叠
|
|
zc 关闭折叠
zo 打开折叠
za 打开/关闭折叠互相切换
系统剪贴板
通常Vim会忽视系统剪贴板,而使用自带的剪贴板。但是有时候你想从Vim之外的程序中剪切、复制、粘贴文本。你可以通过这行代码访问你的系统剪贴板:
|
|
禁止生成缓存文件
每次输入保存命令之后系统都会生成以.un~和.bak结尾的文件,我们可以通过下面的配置禁止vim生成undo文件和备份文件:
|
|
主题插件
主题插件推荐使用flazz/vim-colorschemes
可以使用vim-plug安装,然后再配置_vimrc文件,例如在配置文件中增加下面的代码:
|
|
Mac & Linux环境
插件管理器安装
使用如下命令安装plug-vim插件:
|
|
安装示例
仍然以NERDTree插件安装为例:
编辑配置文件vim ~/.vimrc
|
|
其他操作和Windows系统相同。