目录
- 【vim】极简完美配置b-vim(一)安装教程及目录说明
- 【vim】极简完美配置b-vim(二)vimrc 文件说明
- 【vim】极简完美配置b-vim(三)vimrc.bundles 文件说明
- 【vim】极简完美配置b-vim(四)vimrc.config_base 文件说明
- 【vim】极简完美配置b-vim(五)vimrc.config_filetype 文件说明
- 【vim】极简完美配置b-vim(六)其他目录及情况说明
如果觉得好,记得点个赞哦,👍!
如果使用了,记得在 b-vim 上 star 一下哦。
前言
我的全部配置文件 b-dotfiles !
最开始接触 vim时,总是羡慕别人的vim可以做的事情远远多于我。于是自己去找网上已有的好配置,先后用过比较出名的:
spf13-vim
k-vim
但他们都有自己的缺点,spf13
里面的插件太多且组织有点乱,并不是按照每个插件的配置紧跟着插件。所以对于初用者来说,你根本不知道想改一个东西在哪里改!而 k-vim
里主要的面向对象是python,对C/C++的支持很烂,而且看起来结构挺好的,但也有插件配置和基础配置混合的问题,这个问题导致你只能用他定义好的,想改的话,很难!
所以在自己的学习过程中,逐渐构造,吸收好的配置,更改差的,形成了自己的 vim 配置 b-vim
,也在同学同事中使用后获得了较好的评价。但他们反映,如果有个说明文档的话可能会更好,于是直到现在打算写一下配置文档。
b-vim 隶属于我的所有配置文件仓库b-dotfiles中的一个。(b-dotfiles配置包括 shell
、tmux
、git
、man
配置,接下来会在另外的文档中说明)。b-vim
主要插件的配置为 C/C++ 、python、go等服务的。如果有其他使用的,可以在插件里进行增加相应插件。
这里只说一下 b-vim :
https://github.com/nine2/b-vim
安装教程
由于b-vim是一个子配置,所以需要按下面方法进行配置:
git clone https://github.com/nine2/b-vim
或 git clone git@github.com:nine2/b-vim
cd b-vim/install-shell
./install-vim.sh # 安装简洁版,插件即下即用,不熟悉vim的话,建议先使用这个,有时间折腾YCM的话就用下面👇的安装方式
或 ./install-vim.sh --complex # 安装完整强大版,主要是使用了 YouCompleteMe
注: 以前的脚本可能会出现下面的问题,目前的新脚本已经不会了。
在首次安装时,会出现以下错误界面,这是正常情况,可直接按Enter
键继续即可,下载插件时间和具体网络有关,如果更新第一个插件gmarik/vundle
时间比较长,等待即可。如果很长时间后无反应(10分钟后),可以ctrl + c
关闭,等网络好时打开 vim (此时会报各种错误,继续即可),输入指令:BundleInstall!
手动安装。
Receiving objects: 100% (3085/3085), 923.16 KiB | 387.00 KiB/s, done.
Resolving deltas: 100% (1077/1077), done.
Checking connectivity... done.
Step 5: update/install plugins using Vundle -------- Vim
Error detected while processing /root/.vimrc.bundles:
line 42:
E185: Cannot find color scheme 'molokai'
Press ENTER or type command to continue
建议如果是自己的机器的话,尝试安装下 ./install-vim.sh --complex
版,这个需要手动去编译安装 YouCompleteMe , 这个网上教程很多,就不多说。
如果是服务器或者不需要、不想那么麻烦的去编译的话,建议使用默认方式 ./install-vim.sh
,脚本跑完就可以直接使用,简单高效。
安装后,在 $HOME
目录下只会有一个 .vimrc
文件,其他的相关文件并没有在 $HOME
下,真因为这一点,后面可以实现同账号下使用多种 vim 配置并存,这个后面再细说。
安装脚本会在 .bashrc
里导入两个环境变量:
# vim 使用配置文件的目录,为 b-vim/config 所在的绝对路径
export VIM_CONFIG_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/config
# vim 运行时使用的插件目录等,即原来相对于 $HOME/.vim 的 目录
export VIM_TMP_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/.vim
通过将这两个环境变量修改为你自己 b-vim 所在位置,就可以使用了,如果你本身没有 .bashrc.local
的话,可以将上面的配置写入到 .bashrc
里,然后 source ~/.bashrc
即可生效。
b-vim
目录结构:
![](https://img.haomeiwen.com/i947530/cab79519cecc7107.png)
-
README.md
中简单说明了b-vim的相关内容; -
install-shell
: 存放使用 b-vim 配置的安装脚本。-
install-vim.sh
: vim 安装配置文件安装脚本,默认配置的 vimrc.bundles 文件内容;使用参数--complex
来安装配置 vimrc.bundles_complex 文件。
-
-
config
目录为主要的vim 配置文件,目录内容为:-
vimrc
: vim 配置的主文件 -
vimrc.config_base
: vim 基本配置文件,里面只有vim的基本配置内容,不包含任何插件配置; -
vimrc.config_filetype
: vim 对于特定文件类型的特定配置; -
vimrc.bundles_base
: vim 中使用的 简单版和复杂版公用的 插件; -
vimrc.bundles_simple
: vim中使用的简易服务器版插件配置,包含使用的插件和其对应的配置,插件是在vimrc.bundles_base
基础上不同于 complex 版的部分; -
vimrc.bundles_complex
: vim 复杂版本也是功能最强大的版本,自动补全使用的是YouCompleteMe ,如果是自己的电脑,建议安装这个版本的插件,有点麻烦,但绝对值得,下面详细说明,插件是在vimrc.bundles_base
基础上不同于 simple 版的部分。 -
vimrc.workspace
: 重点,可针对不同的项目配置不同的 vim 配置,如在 python 项目中关闭 tab 转换为空格,其他项目正常转换,同时,设置项目使用 tags 好 path ,这个下面细说。
-
-
projects : 里面包含了给具体项目使用的配置文件
-
tags_list_linux
放置默认给ctags使用的系统include头文件目录,用以生成对应的系统级include头文件的tags文件, linux上的默认include头文件目录; -
tags_list_mac
: mac上的默认include头文件目录,包含STL -
workspace.vim
: 配合上面说的vimrc.workspace
使用的东西,下面细说。 -
workspace_syntax.vim
:配合插件 nine2/vim-custom-syntax 使用的文件,可以设置项目对应的语法配置,具体查看项目:https://github.com/nine2/vim-custom-syntax 。 -
ycm_simple_conf_mac_cpp_base_dir.xml
: 配合插件 tdcdev/ycm_simple_conf 使用的,这个使用查看插件即可,同时这个只有在 complex 时才生效,因为是配合 YouCompleteMe 的。
-
下面说下上面的重点部分:
vimrc.workspace
平时在自己的机子上,不可能所有项目使用的vim配置都是一样的,特别是每个项目使用的 tags 就可能不一样,同时有些项目如果使用了第三方库,也可能会引入对应库的 tags,这样就可以完成从当前项目的标识符跳转到第三方库上去。因此不太可能把所有的这些都配置到一个 vimrc 配置里,这里的解决方式是:从打开文件所在目录向前查找文件 .workspace.vim
,直到找到 $HOME
目录或 /
目录为止,找到的第一个 .workspace.vim
会被加载起来。因此,只需在当前项目的根目录增加一个 .workspace.vim
文件即可,至于 .workspace.vim
的内容,默认可以直接 :
copy pathTo-b-vim/projects/workspace.vim pathToYourProject/.workspace.vim
注意: .workspace.vim
是所有 vim 配置中最后加载起来的,因此可以在里面改写之前的默认设置。
projects/workspace_syntax.vim
这个文件需要使用到我的另一个插件: nine2/vim-custom-syntax ,其主要作用即是开启语法高亮等,特别是可以自定义语法高亮,加载方式和 .workspace.vim
一样,但会先加载 bundle/vim-custom-syntax/after/syntax/workspace_syntax.vim
,然后再加载项目目录中出现的 .workspace_syntax.vim
。关于插件的说明,请参考:https://github.com/nine2/vim-custom-syntax,这里不再细说。
ycm_simple_conf_mac_cpp_base_dir.xml
文件里有使用说明,这里不再细说。
<!-- " ###### 配置自己当前项目的特殊vim 配置 -->
<!-- " 使用方法,将此配置文件copy 到要使用的项目目录下, -->
<!-- " 并更名为 .ycm_simple_conf.xml 即可 -->
<!-- " 或使用本配置的 shell 配置,加载后使用命令:proconf 即可, -->
<!-- " 命令可参见 bash_alias.sh 文件 -->
<!-- " 这里默认是 c++ ,路径默认的是 mac 的,可根据自己的实际情况更改添加 -->
<!-- " 路径不存在并不影响 -->
同时,自定义项目的文件部分,可以配合 b-dotfiles
仓库中 b-shell
使用,效果会更好。
vim 的两个环境变量
上面提到的两个环境变量 VIM_CONFIG_PATH,VIM_TMP_PATH
控制着vim 使用的配置以及运行时目录的具体位置,因此可以通过修改这两个变量来控制vim启用的配置。这有个巨大的好处:在同一用户下,同时拥有多个完全不同版本的vim配置,而切换他们只需要修改 两个环境变量 VIM_CONFIG_PATH,VIM_TMP_PATH
的值即可,因此,可在 .bashrc
或 .zshrc
(如果使用了 zsh) 中增加下面的代码来控制:
alias bvim="export VIM_CONFIG_PATH=new_config_dir; export VIM_TMP_PATH=new_tmp_dir;"
alias bvimde="export VIM_CONFIG_PATH=$HOME; export VIM_TMP_PATH=$HOME/.vim;"
这个方式不仅仅是可用在 b-vim 上,其他的配置通过稍微的修改变通,一样能达到相同的效果。
具体配置信息留待后面再细说吧。
如果觉得好,记得点个赞哦,👍!
如果使用了,记得在 b-vim 上 star 一下哦。
目录
- 【vim】极简完美配置b-vim(一)安装教程及目录说明
- 【vim】极简完美配置b-vim(二)vimrc 文件说明
- 【vim】极简完美配置b-vim(三)vimrc.bundles 文件说明
- 【vim】极简完美配置b-vim(四)vimrc.config_base 文件说明
- 【vim】极简完美配置b-vim(五)vimrc.config_filetype 文件说明
- 【vim】极简完美配置b-vim(六)其他目录及情况说明
![](https://img.haomeiwen.com/i947530/aa3a24dc6bebca70.jpg)
网友评论
let g:file_copyright_name = '864143597@qq.com'
# Author : 864143597@qq.com
# Email : 在 vimrc 文件中添加 let g:file_copyright_name = 'your email'
大哥,为啥我在VIMRC里面按照提示添加之后,出现这个情况
1. 因为你没有配置自动启动,执行以下命令:
echo "if [ -f ~/.bashrc.local ];then source ~/.bashrc.local; fi" >> $HOME/.bashrc
2. 不知道你的 END 键是啥,不过我在 vimrc.config_base 里配置了 跳到行首为H,行尾为L
3. 你那个是一个插件的功能,这里没配,你想用,可以自己配。
另外建议你看看 具体的文件配置,配置里改了东西,你不能完全按照默认的使用,另外看看配置才能更好的学习,然后你觉得不好的,你可以改改。
建议你在 github 上 fork 一份到你自己的账号下,然后你就可以自己改了。
还有就是,
1. 我已经执行了source .bashrc.local 可是当我新打开一个终端,如果再打开旧文件,还是会出现提示信息,如果打开一个新文件,除了出现提示信息外,不会在文件首部添加文件相关
信息
2. 插入模式下我使用END键,光标不会跳至行尾,而是转成非编辑模式,但也不是命令模式
3. 输入main 再按空格键 ,不会自动生成 main函数,这个是没有配置吗,我应该在哪个文件里进行配置
这句改成:
let g:file_copyright_email = '864143597@qq.com'
+ Plugin 'tdcdev/ycm_simple_conf' |~
+ Plugin 'guns/xterm-color-table.vim' |~
* Helptags
大哥,你看下这个YouCompleteMe是安装成功还是失败了?
我前几天因为把Ibus框架卸载了,导致桌面啥的都连带着没有了,所以又重新装的系统,这次配置的时候很顺利,只是YCM插件下载编译的时候不会弄,好象是clang语法什么的没有配置上吧,现在VIM里执行BundleInstall结果显示YCM和起它插件不一样,但也没有报错,我不知道这是什么意思,请大哥指点
1.不知道YCM安装是不是正确的,是按照一篇帖子里面说的,执行了./install.py --clang-completer ,期间出了一些问题,说是没有相关文件,然后系统提示更新递归克隆了一些文件,最终又执行上面命令的时候执行成功了
2.我用VIM打开文件时会提示你那篇帖子里提到的继续、ENTER等信息,我不知道具体应该改动哪些配置文档,以及具体将那句命令添加到文档里的什么位置
3.解决完如上问题后,我是不是还要在.vimrc文件里执行PluginInstall命令?还是说有其它命令,另外,这个命令具体是在家目录的.vimrc文件里执行,还是在~/b-vim/config/vimrc文件里执行
以上问题,请指导,thanks!!!
因为对你帖子里讲的 “在 .vimrc 相关配置文件中添加:let g:rooter_silent_chdir = 1”这句话不是很理解,所以我也就没敢做任何修改,加上之前并不知道你已经在git上更新了文件,
还有就是对文档里提到的如下在.bashrc里的操作
alias bvim="export VIM_CONFIG_PATH=new_config_dir; export VIM_TMP_PATH=new_tmp_dir;" alias bvimde="export VIM_CONFIG_PATH=$HOME; export VIM_TMP_PATH=$HOME/.vim;"
这个我也没有操作,
对于要进行的
在首次安装时,会出现以下错误界面,这是正常情况,可直接按 Enter 键继续即可,下载插件时间和具体网络有关,如果更新第一个插件 gmarik/vundle 时间比较长,等待即可。如果很长时间后无反应(10分钟后),可以 ctrl + c 关闭,等网络好时打开 vim (此时会报各种错误,继续即可),输入指令 :BundleInstall! 手动安装。
,这个我也没有执行呢
是不是这些导致的问题
结果问题解决了
以下第一次克隆出现现象
gt@gt:~$ sudo git clone https://github.com/nine2/b-vim
[sudo] gt 的密码:
正克隆到 'b-vim'...
remote: Counting objects: 82, done.
remote: Compressing objects: 100% (44/44), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: unpack-objects failed
以下是第二次执行克隆命令的结果
gt@gt:~$ sudo git clone https://github.com/nine2/b-vim
[sudo] gt 的密码:
正克隆到 'b-vim'...
remote: Counting objects: 82, done.
remote: Compressing objects: 100% (44/44), done.
remote: Total 82 (delta 45), reused 71 (delta 34), pack-reused 0
展开对象中: 100% (82/82), 完成.
检查连接... 完成。
请问楼主,以上过程是不是造成我下载的文件内容什么的不完整,导致安装失败,因为我检查了文件夹,相应的文件都存在
/home/gt/b-vim/install-shell
Step 1: add config to /home/gt/.bashrc.local
Step 12 bucking up current config
Step 2: setting tu symlinks
Step 3: vim bk and undo dir and swp and view
Step 4: install plugins
grep: /home/gt/b-vim/config/vimrc.bundle_complex: 没有那个文件或目录
Step 5: link tags_list
楼主你好,克隆下来之后查看过提示没有问题,对比目录树图,也没有缺失文件,这个情况是什么原因呢?需要给相应文件执行权限吗
Resolving deltas: 100% (1077/1077), done.
Checking connectivity... done.
Step 5: update/install plugins using Vundle -------- Vim
Error detected while processing /root/.vimrc.bundles:
line 42:
E185: Cannot find color scheme 'molokai'
Press ENTER or type command to continue