1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 05:40:05 +08:00
SpaceVim/docs/README_zh_cn.md
2017-03-11 10:12:27 +08:00

9.0 KiB
Raw Blame History

title
中文手册

SpaceVim 中文手册

Build Status Version 0.2.0-dev MIT License Doc QQ Gitter Facebook

GitHub watchers GitHub stars GitHub forks Twitter Follow

2017-02-26_1365x739

项 目 主 页: spacevim.org

SpaceVim 是一个社区驱动的模块化vim配置集合其中包含了多种功能模块并且正对neovim做了功能优化。spacevim有多种功能模块可供选择用户只需要选择需要的模块就可以配置出一个适合自己的开发环境。Github 地址 : SpaceVim/SpaceVim, 欢迎Star或fork感谢支持!使用过程中遇到问题在github提交issue将更容易被关注和修复。我们也欢迎喜欢vim的用户加入我们的QQ群一起讨论vim相关的技巧点击加入Vim/SpaceVim用户群

以下是近几周的开发汇总:

Throughput Graph

SpaceVim 是一个模块化配置集合包含针对各种语言开发的插件和相应的优化配置。目前支持多种语言的自动补全、语法检测、代码格式化而且启动速度飞快。SpaceVim的另一核心理念就是按序延迟加载目前90%的插件都是滞后加载。SpaceVim模块化的思想来源于 spacemacs的layer模块将各种功能包装好封装成一个layer用户根据自己的需要载入相应的layer实现自定义SpaceVim。

SpaceVim对于新手有着非常友好的界面界面格局和大多数IDE也比较类似。不过为了更好的体验SpaceVim建议对于vim需要有一定的了解如果有一定的英语基础建议阅读这篇关于vim的教程 vim-galore.

安装

Linux 或 Mac 下 SpaceVim的安装非常简单只需要执行以下命令即可

curl -sLf https://spacevim.org/install.sh | bash

想要获取更多的自定义的安装方式,请参考:

curl -sLf https://spacevim.org/install.sh | bash -s -- -h

在初次使用SpaceVim的时候当你打开vim时SpaceVim会下载需要的插件请等待下载过程完成如果有失败的可以手动执行

:call dein#install()

SpaceVim是一种模块化配置可以运行在vim或者neovim上关于vim以及neovim的安装请参考以下链接

安装neovim

从源码编译vim

windows系统下的安装步骤

Windows 下 vim 用户只需要将本仓库克隆到用户 HOME 目录下的 vimfiles 即可,打开 CMD 默认的目录默认即为 HOME 目录,只需要执行如下命令即可:

git clone https://github.com/SpaceVim/SpaceVim.git vimfiles

Windows 下 neovim 用户 需要将本仓库克隆到用户 HOME 目录下的 AppData\Local\nvim想要获取跟多关于 neovim 安装相关的知识,可以访问 neovim 的 wiki wiki 写的非常详细。打开 CMD 初始目录默认一般即为 HOME 目录,只需要执行如下命令即可:

git clone https://github.com/SpaceVim/SpaceVim.git AppData\Local\nvim

特性

以neovim为主的新特性实现 模块化设置 依赖 dein.vim 的延迟加载90%插件延迟加载,启动速度极快 高效,轻量级 Unite为主的工作平台 优雅的界面 针对不同语言开发的优化 可扩展的补全引擎vim下为neocomplete neovim 下为 deoplete 细致的tags管理 轻量级状态栏 优雅的主题

文件结构

模块化设置

  1. SpaceVim 将从 ~/.local.vim 和当前目录的 .local.vim 载入用户配置,(该方式将被舍弃).
  2. SpaceVim 将从 ~/.SpaceVim.d/init.vim 和当前目录的 ./SpaceVim.d/init.vim 载入配置,并且更新 rtp用户可以在 ~/.SpaceVim.d/ 和 .SpaceVim.d/ 这两个文件夹下编辑自己的脚本,和 SpaceVim 的配置文件。

示例:

" here are some basic customizations, please refer to the top of the vimrc file for all possible options
let g:spacevim_default_indent = 3
let g:spacevim_max_column     = 80
let g:spacevim_colorscheme    = 'my_awesome_colorscheme'
let g:spacevim_plugin_manager = 'dein'  " neobundle or dein or vim-plug

" change the default directory where all miscellaneous persistent files go
let g:spacevim_cache_dir = "/some/place/else"

" by default, language specific plugins are not loaded.  this can be changed with the following:
let g:spacevim_plugin_groups_exclude = ['ruby', 'python']

" if there are groups you want always loaded, you can use this:
let g:spacevim_plugin_groups_include = ['go']

" alternatively, you can set this variable to load exactly what you want
let g:spacevim_plugin_groups = ['core', 'web']

" recommend to use layer function, all the layers's name can be find in `:h SpaceVim-layers`
call SpaceVim#layers#load('layer_name')

" if there is a particular plugin you don't like, you can define this variable to disable them entirely
let g:spacevim_disabled_plugins=['vim-foo', 'vim-bar']

" if you want to add some custom plugins, use this options.
let g:spacevim_custom_plugins = [
        \ ['plasticboy/vim-markdown', 'on_ft' : 'markdown'],
        \ ['wsdjeg/GitHub.vim'],
        \ ]

" anything defined here are simply overrides
set backgroud=light
set nu

" but some options need to use spacevim's option, such as:
let g:spacevim_guifont = 'DejaVu\ Sans\ Mono\ for\ Powerline\ 11'

Unite 为主的工作流

  1. 列出所有插件并且可以根据输入的字符模糊匹配回车将打开对应插件的github网站 这非常便于临时去github上面找文档默认的启动快捷键是 <leader>lp

    [layer name] [plugin name] [load type] [plugin options]

    2017-01-21_1358x725

  2. 列出所有按键映射以及描述,可以通过输入模糊搜索对应的快捷键,回车即可执行,默认启动该功能的快捷键是: f<space>

2016-12-29-22 35 29

  1. 通过 Unite 列出自己在 github 上面所有的 star 的仓库名称以及描述,模糊搜索,回车通过浏览器打开相应的网站,默认的快捷键是 <leader>ls

2016-12-29-22 38 52

友好的交互界面

  1. 语法树 + 文件管理 + 语法检查

2017-01-03-21 26 03

已支持的开发语言

  • java
  • viml
  • rust
  • php
  • c/c++
  • js
  • python
  • php
  • lua
  • javascript