space-vim

首次启用一个 layer,需要执行 SPC f R, 或者 :so $MYVIMRC, 重新加载 .vimrc 并执行 :PlugInstall 安装所需的相关插件 。或者退出重新打开 vim, vim-plug 将会检测并自动安装缺失的插件。 基于vim-plug的插件管理平台 vim-plug命令工具

Commands

CommandDescription
PlugInstall [name ...] [#threads]Install plugins
PlugUpdate [name ...] [#threads]Install or update plugins
PlugClean[!]Remove unused directories (bang version will clean without prompt)
PlugUpgradeUpgrade vim-plug itself
PlugStatusCheck the status of plugins
PlugDiffExamine changes from the previous update and the pending changes
PlugSnapshot[!] [output path]Generate script for restoring the current snapshot of the plugins

Plug options

OptionDescription
branch/tag/commitBranch/tag/commit of the repository to use
rtpSubdirectory that contains Vim plugin
dirCustom directory for the plugin
asUse different name for the plugin
doPost-update hook (string or funcref)
onOn-demand loading: Commands or <Plug>-mappings
forOn-demand loading: File types
frozenDo not update unless explicitly specified

安装objc 自动提示插件YouCompleteMe

YouCompleteMe命令工具

  1. 在spacevim添加 使用space-vim封装的layer
1
Layer 'ycmd'         "语法自动补齐

YouCompleteMe 安装位置: ~/.vim/plugged/YouCompleteMe

  1. 编译 YCM 在使用space-vim平台上,使用layer方式安装会执行如下编译操作:
1
!./install.py --clang-completer

详见脚本:space-vim/layers/+tools/ycmd/packages.vim

参考:征服恐惧!用 Vim 写 iOS App

1
2
brew install cmake
./install.py --clang-completer --system-libclang

--clang-completer: 告诉脚本需要 clang 的支持 --system-libclang: 告诉编译脚本使用系统的 clang,因为之前 clang 升级 4.0 的时候,并没有已经编译好的包给我下载,所以这里不用系统 clang 的话,编译脚本会下载一个 clang 3.0,这样就无法支持 iOS 10.0 以后的 sdk 了,因为 iOS 10.0 以后的 sdk 为了支持 swift 引入了一些 clang 3.0 不支持的新语法,所以这里要加上 –system-libclang。

  1. FlagsForFile脚本获取编译参数 YCMD 是通过每个项目路径下的 .ycm_extra_conf.py 脚本文件,定义了FlagsForFile 的函数来获取某一个特定文件需要的编译参数,一般情况下大部分文件的编译参数是相同的。

  2. 安装vim插件 使用vim-plug安装

1
Plug 'keith/sourcekittendaemon.vim'

NOTE: This plugin doesn’t provide Swift runtime files. If you’d like those checkout swift.vim

AsyncRun shell command

编辑器命令:AsyncRun + shell命令即可在后台执行shell命令,打开quickfix就可以实时查看执行结果了。也可以通过添加配置的方式来实现开始执行命令的时候自动打开quickfix窗口:

1
2
 :copen //打开脚本运行日志窗口 
 :AsyncRun git status  //异步执行shell脚本