Neo vim導入
2018年10月9日
目次
Neo vim導入手順
こんにちは!ウェブエンジニアのジワタネホです!
みなさんエディタ何使ってますかー?
atomですか?sublimeですか?Vimですか?
私はsublime使ってます。
はい。タイトルと矛盾してますね。
Vimに関しては現在絶賛習得中です!
今日はそんなVimの改良版ともいうべきエディタのneo vimの導入を備忘録として。
これからvimを習得しようとしているみなさんの参考になれば!!

Vimとは
Vimの良さ
エンジニアな方にとってエディタは最重要ツールのひとつかと思います。
サッカー選手ならスパイク、野球選手でもスパイク、バスケ選手ならバッシュに当たるものかと思います。(足推し)
Vimはそのエディタの中で最も効率的にコーディング
可能なエディタと言っても過言ではないと思います。
正直、最強のエディタは?と聞かれたらこれ以外ないかと。
あ、今はvimも後述するneo vimも同意として書いてます。はい。
ただし、入力方法が特殊なため習得していればという前提で最強のエディタです。
操作方法を知らない人はおそらくファイルを閉じることすらできないと思います。
そもそもマウス使えません。
全部キーボードで操作します。
というか、全部キーボードで操作するから効率も上がるんですけどね。
それでも操作を習得すれば思考の速さでコーディングができるエディタだという人もいたり、本もあったりです。
他にもプラグインが多かったり、サーバーに最初から入っていたりと色々メリットありますが、そこら辺はまあ興味あれば調べてみてください。
とにかく「習得すれば」の条件付きで最強のエディタです。
なんかRPGゲームとかでそんな武器ありそうですね。
neo vimとは
で、本記事の本題であるneo vimとは何かというと、
vimの改良版です。はい。
vimのひとつの弱点として、かなり古くからあるエディタということがあがります。
かなり古い時代に作られたアプリケーションであるvimは、アプリをアップデートしたりして改良することにあまり長けていないと。
最近のアプリなら一旦リリースして、その後ユーザーの声などを聞きながら改良していく手法が一般的です。
ただしvimの場合は、そういった手法を前提に作られていないため、まずvimというアプリケーションをプログラム上で理解するのが難しいと。
詳細は省きますが、要はあまり高頻度にアップデートできないというのが弱点ですと。
neo vimはそんなvimの弱点を克服して、
vimの良さを継承しながらアプリ自体も今風な設計思想にしたものだと思ってもらえれば問題ないかと。
vim自体も更新自体はしているみないですが、これからvimを始めるならneo vimで始めるのが定石かと。
基本的にはvimにできることはneovimにもできると思ってもらって問題ないかと。
導入

導入は簡単。
Homebrewは入っている前提です。
入っていない人は以下の記事を参考にインストールしてください。
で、話を戻してneovim。
公式ページは以下。
以下コマンドでインストールです。
$brew install neovim
完了したらターミナル上で、
$nvim
これでneovimの初期画面が表示されればオーケーです。
注意点としては、neovimではなくnvimとうつことくらい。
設定

通常のエディタと違いvimはGUIではありません。
なので、エディタの設定やプラグインはどうするかというと、ファイルに書きます。
で、どのファイルに書くかと言うとnvim配下のinit.vimというファイルに書きます。
このinit.vimが初めからあったかあとから足したかは覚えてませんwww
とにかくnvim配下のinit.vimに設定を書きます。
なので無ければ作ってください。
で設定を書くと。
おすすめの設定等はググってください。
僕は初心者なので人様に勧められるような身分ではございません。
まあ一番最初はプラグイン管理ツールを導入するところですかね。
以下は私の設定です。
if &compatible
set nocompatible
endif
" Add the dein installation directory into runtimepath
set runtimepath+=~/dotfiles/nvim/dein/repos/github.com/Shougo/dein.vim
if dein#load_state('~/dotfiles/nvim/dein')
call dein#begin('~/dotfiles/nvim/dein')
call dein#add('~/dotfiles/nvim/dein')
call dein#add('Shougo/deoplete.nvim')
if !has('nvim')
call dein#add('roxma/nvim-yarp')
call dein#add('roxma/vim-hug-neovim-rpc')
endif
let g:deoplete#enable_at_startup = 1
call dein#add('mattn/emmet-vim')
call dein#add('Yggdroot/indentLine')
call dein#add('bronson/vim-trailing-whitespace')
call dein#add('slim-template/vim-slim')
call dein#add('itchyny/lightline.vim')
call dein#add('cohama/lexima.vim')
call dein#end()
call dein#save_state()
endif
filetype plugin indent on
syntax enable
set number
set fenc=utf-8
set cursorline
set cursorcolumn
set virtualedit=onemore
set smartindent
set clipboard=unnamed
set autoindent
set encoding=utf-8
set tabstop=2
set shiftwidth=2
set expandtab
set list
"set listchars=eol:↲
set listchars=eol:↲,extends:»,precedes:«,nbsp:%,space:-
set noshowmode
augroup MyXML
autocmd!
autocmd Filetype xml inoremap <buffer> </ </<C-x><C-o>
autocmd Filetype html inoremap <buffer> </ </<C-x><C-o>
autocmd Filetype eruby inoremap <buffer> </ </<C-x><C-o>
augroup END
colorscheme molokai
syntax on
最後に
いかがだったでしょうか?
参考になりましたでしょうか?
書いてみて思ったけどneo vim導入って対象範囲狭いですねwww
本日はここまで!