今更ながらVimからNeovimとdein.vimに移行してやりました。設定など結構ダルい部分があると思いますが、Macの設定など全てansibleで管理しているので、(以下リンクより)今回手動でやる方法とAnsibleでの実行方法を晒します。
■参考
https://blog.lorentzca.me/move-to-neovim-and-dein-vim/
基本友人(キャンパー)のブログを参考にしました。Neovimやdein.vimの概要については上記のリンクを見て学びましょう。(相変わらず省いてるので公式も読みましょう)
■構成
1 2 3 4 5 6 7 8 |
$ tree ~/.config/nvim /Users/adachin/.config/nvim ├── colors │ ├── molokai.vim │ └── tender.vim ├── dein.toml ├── init.vim └── installer.sh |
■install NeoVim(Mac)
https://github.com/neovim/neovim/wiki/Installing-Neovim
・brew install
1 2 3 4 5 |
$ brew install neovim ==> Downloading https://homebrew.bintray.com/bottles/neovim-0.2.2_1.high_sierra.bottle.tar.gz Already downloaded: /Users/adachin/Library/Caches/Homebrew/neovim-0.2.2_1.high_sierra.bottle.tar.gz ==> Pouring neovim-0.2.2_1.high_sierra.bottle.tar.gz <img draggable="false" data-mce-resize="false" data-mce-placeholder="1" data-wp-emoji="1" class="emoji" alt="?" src="https://s.w.org/images/core/emoji/2.4/svg/1f37a.svg"> /usr/local/Cellar/neovim/0.2.2_1: 1,374 files, 17.6MB |
以前までは$ brew install neovim/neovim/neovimからただのneovimに変わりました。
・fix init.vim
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
colorscheme molokai syntax enable let g:molokai_original = 1 let g:rehash256 = 1 set background=dark set ttimeoutlen=10 set number set title set autoindent set tabstop=4 set shiftwidth=2 set expandtab set ignorecase set smartcase set wrapscan map ; : if &compatible set nocompatible " Be iMproved endif " Required: set runtimepath+=~/.cache/dein/repos/github.com/Shougo/dein.vim " Required: if dein#load_state('~/.cache/dein') call dein#begin('~/.cache/dein') " Let dein manage dein " Required: call dein#add('~/.cache/dein/repos/github.com/Shougo/dein.vim') " Add or remove your plugins here: call dein#add('Shougo/neosnippet.vim') call dein#add('Shougo/neosnippet-snippets') let s:toml = '~/.config/nvim/dein.toml' call dein#load_toml(s:toml, {'lazy': 0}) " You can specify revision/branch/tag. call dein#add('Shougo/deol.nvim', { 'rev': 'a1b5108fd' }) " 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 |
ここでneovimの設定ファイルを修正しときます。
■install dein.vim
https://github.com/Shougo/dein.vim
・curl installer.sh
1 2 3 4 5 |
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2355 100 2355 0 0 9786 0 --:--:-- --:--:-- --:--:-- 9812 [~/.config/nvim] |
プラグインマネージャーもぶち込みます。
・install
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
$ sh ./installer.sh ~/.cache/dein Install to "/Users/adachin/.cache/dein/repos/github.com/Shougo/dein.vim"... git is /usr/local/bin/git Begin fetching dein... Cloning into '/Users/adachin/.cache/dein/repos/github.com/Shougo/dein.vim'... remote: Counting objects: 4820, done. remote: Compressing objects: 100% (23/23), done. remote: Total 4820 (delta 18), reused 27 (delta 15), pack-reused 4781 Receiving objects: 100% (4820/4820), 945.53 KiB | 1.47 MiB/s, done. Resolving deltas: 100% (2745/2745), done. Done. Please add the following settings for dein to the top of your vimrc (Vim) or init.vim (NeoVim) file: "dein Scripts----------------------------- if &compatible set nocompatible " Be iMproved endif " Required: set runtimepath+=/Users/adachin/.cache/dein/repos/github.com/Shougo/dein.vim " Required: if dein#load_state('/Users/adachin/.cache/dein') call dein#begin('/Users/adachin/.cache/dein') " Let dein manage dein " Required: call dein#add('/Users/adachin/.cache/dein/repos/github.com/Shougo/dein.vim') " Add or remove your plugins here: call dein#add('Shougo/neosnippet.vim') call dein#add('Shougo/neosnippet-snippets') " You can specify revision/branch/tag. call dein#add('Shougo/deol.nvim', { 'rev': 'a1b5108fd' }) " 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------------------------- Done. Complete setup dein! |
インストール先を~/.cache/deinに変更すると環境が違っても動くのでバタバタしない!インストール後dein Scripts以下をinit.vimにぶち込みましょう!と言われるので上記のようになります。
・dein.toml
1 2 3 4 5 |
[[plugins]] repo = 'jacoborus/tender.vim' [[plugins]] repo = 'tomasr/molokai' |
カラースキームはdein.tomlで管理してあげましょう。(fix init.vimにてtomlで動くように指定します。)今回はmolokaiとtender.vimをインストールしました。
https://github.com/tomasr/molokai
https://github.com/jacoborus/tender.vim
・install color
1 |
$ :call dein#install() |
・copy color
1 2 3 4 5 6 7 8 |
$ cp -r colors ~/.config/nvim colors -> /Users/adachin/.config/nvim/colors colors/tender.vim -> /Users/adachin/.config/nvim/colors/tender.vim [~/.cache/dein/repos/github.com/jacoborus/tender.vim] $ cp molokai.vim ~/.config/nvim/colors molokai.vim -> /Users/adachin/.config/nvim/colors/molokai.vim [~/.cache/dein/repos/github.com/tomasr/molokai/colors] |
必ずcolorは~/.config/nvim/colorsにコピーしましょう。
■.zshrc
1 2 |
$ grep nvim ~/.zshrc alias vim='nvim' |
毎回nvimと打つのはダルいので.zshrcにエイリアス追加しとくと便利!
■すると!
■ちなみにAnsibleだと
https://github.com/RVIRUS0817/ansible_Mac
neovimインストール自体は別roleで分けているので設定ファイルを自動化しているだけです。
・main.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
- name: Copy home directory .cache/dein file: path={{ item.name }} state=directory mode=0755 loop: - { name: '~/.cache/dein' } - name: Copy home directory Files. copy: src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - "{{ HOMEDIR_TARGETS }}" - name: Download dein.vim install.sh get_url: url: https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh dest: ~/.config/nvim mode: 0755 - name: install.sh dein.vim shell: sh ~/.config/nvim/installer.sh ~/.cache/dein |
■まとめ
Ansibleで管理しとくと楽!
今更だけどnvim/dein.vimにしたyo!
Macの設定自動化はansible使ってるからみんなも試してくだせえ!https://t.co/AKV2VT3zBa— adachin👾SRE (@adachin0817) April 5, 2018
他にもプラグイン入れて触ってみます!
0件のコメント