Vimmerな人たちのためのCommonLisp環境構築（slimv編）


# はじめに

**追記2020/09/25: 
Kaoriya版Vimは現在32bit/64bitともにpython2サポートがないためslimvが動作しません、
そのうちきちんと検証をするつもりですが、
Windows環境下でvimでlispやる環境が欲しいだけなら下記のneovim+vlimeのほうがpythonに依存しないので良いと思います**

この記事はVimmerな人たちでかつCommonLisp始めてみたいという方向けです。
Lisp開発用のVimプラグインであるslimvを使った環境構築をしていきます。
Emacsな人たちはLispBoxで調べると幸せになれるかもしれません。
以前書いた[slimv導入](http://qiita.com/singy/items/86557e29283ac7a3ede4)という記事の内容の焼き直し版です。
Linuxな人たちだけでなくWindowsな人たちの環境構築についても書いていこうかとおもいます。
**※Windows版書きました : Windowsの環境構築は以前やったもの記憶を頼りに書いてるのでバージョンが古かったり、細かいとこが間違ってる可能性がありますので注意してください。**

※Neovim + vlimeでやりたい人はこちら
[VimmerのためのCommon Lisp環境構築（Neovim + vlime編）](https://qiita.com/kedama17/items/8c6f068c0cf90a5b481a)



# 前提とする環境

Linuxの場合

* OS : Ubuntu 16.04 64bit

**追記：Ubuntu 18.04 64bitでもいけました**

Windowsの場合

* OS : Windows 10 64bit

# インストール手順

## Gitのインストール

### Linux

普通にGitをインストールします。
バージョンは2017/06/11現在（以降現在と言う）のデフォルトで **2.7.4** を使っています。  
```sudo apt-get install git```

### Windows

[ここ](https://git-for-windows.github.io/)からインストーラをダウンロードしてインストールします。
バージョンは**2.10.1**を使っています。
パスはたしか勝手に通るはず（記憶でかいてるので通ってなかったら通してね）


## Lisp処理系のインストール

今回は処理系にSteel Bank Common Lispを使います。

### Linux

これもGit同様普通にインストールします。
バージョンは現在のデフォルトで **1.3.1.debian** を使っています。  
```sudo apt-get install sbcl```

### Windows

[ここ](http://www.sbcl.org/platform-table.html)からインストーラをダウンロードしてインストールします。
64bitのOSならAMD64、32bitならx86を選びます。
バージョンは**AMD64 1.3.10**を使っています。
これもパスはたしか勝手に通るはず（通ってなかったら通してね）

## Pythonのインストール

### Linux

Ubuntuの場合は不要です。
ほかのLinux系OSはわかりません。

### Windows

[ここ](https://www.python.org/downloads/windows/)から**32bit版（大事!!!）**のバージョン**2.7.12rc1（大事!!!）**をインストールします。
**※slimvは32bit版のpythonでないと動きません、バージョンは2.7.x系じゃないと確か動かなかったような。。。**
これもパスはたしか勝手に通るはず（通ってなかったら通してね）


## Vimのインストール

### Linux

~~今回使用するプラグインのslimvですが、python2サポートのあるVimでないと使えません。
sudo apt-get install vimでインストールできるVimは現在python2をサポートしていませんので、vim-nox-py2というパッケージをつかいます。  
```sudo apt-get install vim-nox-py2```~~

**追記：python3で使えるようになってました、```sudo apt install vim-nox```でpython3をサポートしているvimをインストールすればOKです**

### Windows

~~KaoriYa版のVimを使います（KaoriYa版はpython2サポートが有効）
[ここ](https://www.kaoriya.net/software/vim/)から**32bit版（大事!!!!）**をダウンロードして解凍します。~~
**※slimvは32bit版のVimでないとつかえません。**

**追記 2020/9/25: 
Kaoriyaの32bit版Vimでもpython2サポートは無効になりました。Windows版でpython2サポートの有効なVimを入手する方法は今現在存在するかわかりません（ソースからビルド？）、NeoVimへの移行を考えましょう** 

## 以降の手順について

以降の手順はWindowsもLinuxも共通です。

## deinのインストール

今まではVimのプラグイン管理にNeoBundleを使っていた方が多いのではないかと思います。
今回はNeoBundleの後継であるdeinを使用します。
まず、deinの導入については[この記事](http://qiita.com/yoza/items/2f8bd33a18225754f346)がとても参考になります。
ディレクトリを作成してdeinをクローンして、設定ファイルは以下のようにします。

```vim:.vimrc
if &compatible
  set nocompatible
endif
set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim

call dein#begin(expand('~/.vim/dein'))

call dein#add('Shougo/dein.vim')
call dein#add('kovisoft/slimv')

call dein#end()
```

設定ファイルを書いたらVimを立ち上げて以下のコマンドを実行します。

**追記**
Windows環境の場合は```git config --global core.autocrlf```の設定に注意しましょう。
私の場合は```git config --global core.autocrlf input```にすると正常に動作しました。
```true```の場合は```Can't create directory```が出て正常に動作しませんでした。
```:call dein#install()```を実行する前にチェックしておきましょう。


```:call dein#install()```

これでslimvがインストールされます。
Vimを再起動して、以下のファイルを作成してみます。

```lisp:test.lisp
(defun greeting () 
  (print "Welcome to the world of CommonLisp!"))
```

保存してから```,c```を押すとREPLが立ち上がります。
test.lispを開いているバッファに戻って```,b```を押すとバッファ全体が評価されます。