emacsを使っているけどvimの環境を整えはじめました
なぜ?
Emacs Advent Calendar 2016で公開された記事を見て、
対策を先に打っておきたいなと思い、vimの環境を整え始めました。
emacsが使えなくなった後に動くのも嫌だったので先手必勝です。
したこと
- vimのバージョンを上げた
- プラグインマネージャー dein.vimを導入
- emacsで使っている機能に似ているプラグインを導入(まだまだ導入するものがおおい...)
- vim訓練 (一番しんどかった)
環境
- vim 8.0
ファイル構成
.vim
├── bundle
│ ├── cache_vim
│ ├── dein.toml
│ ├── installer.sh
│ ├── repos
│ └── state_vim.vim
├── config
│ ├── basic.vim
│ ├── indent.vim
│ ├── lightline.vim
│ └── search.vim
└── vimrc
今回作った環境は公開しているのでどうぞ。
vimのアップデート
最初は7.*(ド忘れ)だったので、8.0に上げました。
macには最初から入っていたので、今回はbrewで管理できるようにしました。
8.0に上げる方法を記載しておきます。
$ brew install vim $ vi ~/.zshrc # brewでインストールした場合、/usr/local/bin/にインストールされます。 # 読み込む順番が/usr/local/binより先に違うvimが読み込まれると元のままなのでPathの読み込みの順番を変更してください
dein.vimの導入
NeoBundleの開発が終了するので今回はdein.vimにしました。
参考にしたページは下記のページです。
dein.vimの設定は以下のvimrcです(抜粋)。
dein.vimが発見されなければgithubから取得するようにしています。
またvimを起動した際にプラグインをインストールされるようにしています。
プラグインの管理はtomlで管理ができるということで別ファイルにしています。
"dein.vim dark power let s:dein_dir = expand('~/.vim/bundle/') let s:dein_repo_dir = s:dein_dir . 'repos/github.com/Shougo/dein.vim' "dein Scripts----------------------------- if &compatible set nocompatible " Be iMproved endif if !isdirectory(s:dein_repo_dir) echo "install dein.vim..." execute '!git clone git://github.com/Shougo/dein.vim' s:dein_repo_dir endif execute 'set runtimepath^=' . s:dein_repo_dir " Required: if dein#load_state(s:dein_dir) call dein#begin(expand('~/.vim/bundle')) let g:dein_dir = expand('~/.vim/bundle') let s:toml = g:dein_dir . '/dein.toml' " Let dein manage dein " Required: call dein#load_toml(s:toml, {'lazy': 0}) " You can specify revision/branch/tag. call dein#add('Shougo/vimshell', { 'rev': '3787e5' }) " Required: call dein#end() call dein#save_state() endif " Required: filetype plugin indent on syntax enable " If you want to install not installed plugins on startup. if dein#check_install() call dein#install() endif "End dein Scripts-------------------------
プラグインの導入
dein.tomlで管理をするようにしました。
導入しているプラグインはこんな感じです。
色々と調べたとことこれらを入れておけば間違いなし的な感じだったので入れました。
まだまだ理想のvimではないので道程は遠いです 。
[[plugins]] repo = 'Shougo/dein.vim' [[plugins]] repo = 'Shougo/unite.vim' [[plugins]] repo = 'tomasr/molokai' [[plugins]] repo = 'cespare/vim-toml' on_ft = 'toml' [[plugins]] #ステータスライン repo = 'itchyny/lightline.vim' [[plugins]] #Spece Tabの可視化 repo = 'thinca/vim-zenspace' [[plugins]] #インデントを可視化 repo = 'nathanaelkane/vim-indent-guides' [[plugins]] #括弧などの対応する文字を自動入力 repo = 'jiangmiao/auto-pairs' [[plugins]] repo = 'tpope/vim-fugitive' [[plugins]] repo = 'airblade/vim-gitgutter'
vim訓練
emacsのキーバインドに調教されていたので、よくキーバインドを間違えてしまいました。
なのでいい記事があったので訓練していました。
いつも使わない筋肉を使ったのでしょうか...
とても手がいたいです...
最後に
emacsが衰退するという話がありますが、この問題が解決できる可能性も見えているみたいです。
個人的にそろそろemacsから違うエディタに変えてもいいかなという気持ちもあります。
emacsがないとコードが書けない的なことが起こらないと思いますし、
僕自身emacsに固執する必要も無くなってきたなと思っています。
これから仕事で使う言語はemacsを使うことは適してないのでやめるいいキッカケかもしれないです。
まぁ趣味グラマーの時に使うというのもいいですが、
emacsの環境の大工事が待っているのでそこから逃れたい...←