SpaceVimでイケてるVim環境を手に入れる

## 概要

* SpaceVimとは？
* インストール
* 設定の変更方法

## SpaceVimとは？

![](https://user-images.githubusercontent.com/13142418/68079142-904e4280-fe1f-11e9-993e-b834ea3d39ea.png)

こんな感じのVimのインターフェースを簡単に自分のVimに適用出来ます。

[https://spacevim.org/](https://spacevim.org/)


## インストール

下記の方法でインストールを行うとルートディレクトリ配下に`.SpaceVim`と`.SpaceVim.d`ディレクトリが作成されます。
基本的にはインストールするだけでSpaceVimがかっこいいVimにしてくれます。


### Mac

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

### Windows

[こちら](href="https://spacevim.org/install.cmd")をクリックしてインストールを行います。



## 設定

SpaceVimには便利な機能がいくつか用意されているので、私が行なっている設定を少し紹介します。

`~/.SpaceVim.d/init.toml`に設定を追加していきます。


### colorscheme

SpaceVimにはいくつかテーマが用意されておりそれらを使用する設定を以下で行うことが出来ます。
詳細は[colorscheme](https://spacevim.org/layers/colorscheme/)を参照ください

設定例：

```toml
[options]
  colorscheme = "jellybeans"
  colorscheme_bg = "dark"

[[layers]]
  name = "colorscheme"
```



### File Tree

VSCodeとかGUIのエディタには必ずあるディレクトリツリーを表示してくれるやつです。

標準ではVimfilerが設定されており、私はそのままVimfilerを使っています。
Vimfiler以外だと、`NERDTree`と`defx`が設定可能です。

詳しくは[File Tree](https://spacevim.org/documentation/#file-tree)を参照ください。

```toml
[option]
  filetree_direction = 'left'
  enable_vimfiler_gitstatus = true
```

上記設定でファイルツリーを左に配置し、vimfilerにgitのステータスを反映出来るようにしています。

### git系

git系の機能のサポートをしてくれます。
[git](https://spacevim.org/layers/git/) ,[github](https://spacevim.org/layers/github/)のlayerを使用します。
詳しくは上記ページを参照ください。


```toml
[[layers]]
  name = "git"

[[layers]]
  name = "github"
```

### 行番号

SpaceVimの初期設定では行番号が現在のカーソル位置から行番号が振られてしまうため、その機能をオフにします。

```toml
[option]
  relativenumber = false
```

### 完成形

```toml
#=============================================================================
# dark_powered.toml --- dark powered configuration example for SpaceVim
# Copyright (c) 2016-2017 Wang Shidong & Contributors
# Author: Wang Shidong < wsdjeg at 163.com >
# URL: https://spacevim.org
# License: GPLv3
#=============================================================================

# All SpaceVim option below [option] section
[options]
    automatic_update = true
    # set spacevim theme. by default colorscheme layer is not loaded,
    # if you want to use more colorscheme, please load the colorscheme
    # layer
    colorscheme = "jellybeans"
    colorscheme_bg = "dark"
    # Disable guicolors in basic mode, many terminal do not support 24bit
    # true colors
    enable_guicolors = true
    # Disable statusline separator, if you want to use other value, please
    # install nerd fonts
    statusline_separator = "arrow"
    statusline_inactive_separator = "arrow"
    buffer_index_type = 4
    enable_tabline_filetype_icon = true
    enable_statusline_mode = true
    filetree_direction = 'left'
    enable_vimfiler_gitstatus = true
    relativenumber = false
    enable_cursorline = true
    filetype_icon = true
    enable_tabline_filetype_icon = true

# Enable autocomplete layer
[[layers]]
  name = 'autocomplete'
  auto-completion-return-key-behavior = "complete"
  auto-completion-tab-key-behavior = "smart"

[[layers]]
  name = "lsp"

[[layers]]
  name = 'shell'
  default_position = 'top'
  default_height = 30

[[layers]]
  name = "japanese"

[[layers]]
  name = "colorscheme"

[[layers]]
  name = "ui"
  enable = true
  enable_sidebar = true

[[layers]]
  name = "git"

[[layers]]
  name = "github"

[[layers]]
  name = "fzf"

[[layers]]
  name = "tools"

[[layers]]
  name = "lang#dockerfile"

[[layers]]
  name = "lang#go"

[[layers]]
  name = "lang#html"

[[layers]]
  name = "lang#javascript"
  auto_fix = true
  enable_flow_syntax = true

[[layers]]
  name = "lang#sh"
```

以上を設定した私のVimは以下のようになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19716/45dfcb77-fe59-9ec2-7efe-defd2f1bf1ab.png)


参考になれば幸いです！
素敵なVimライフを！