初心者が送る初心者のためのneovim
皆さんはエディターで作業をしていますか?色々あると思います。私はと言うと最近vscodeからneovimに乗り換えました。今回はvim初心者の私がどうやってneovimに乗り換えたかをお伝えしていきたいと思います。
注意:この記事ではvimの操作説明をする気はないので操作に関しましてはこちらを参考にしてください
neovimとは?
neovimとは、vimよりもメンテナンスがしやすい物を作ってみんなでより良くして行こう!と言う物です(かなりざっくり)
詳しくはこちらの記事:https://qiita.com/lighttiger2505/items/440c32e40082dc310c1e
NeoVimをインストール
今回はMacで環境を構築していきます。
まずはneivimをインストールします。
まずはターミナルを開きます。
そうしたら次のコマンドをうちます
$ brew install neovim
brewを導入されていない方はこちらが参考になります
はい、これでneivimのインストールは終わりです!
試しにターミナルで次のコマンドを実行します
$ nvim --version
私の環境ではこのような結果になりました
NVIM v0.4.3
Build type: Release
LuaJIT 2.0.5
人によってversionは異なると思いますがこのような結果が得られれば成功です
neovimをカスタマイズする
何の設定をしていないvimも確かにいいです。ターミナルで作業できますし、軽いし、何より全ての動作がキーボードで完結します。しかし、vimには便利なプラグインがたくさん入れます。ここからはプラグインなどの設定をしていきます。
deinを導入する
deinとはプラグインマネージャーです。つまり、deinを導入することでプラグインを入れたり、消したり、アップデートしたりなどが簡単に出来る様になります。
deinの導入に関してはこちらの記事を参考にさせていただきました
まずは、ターミナルを開きます。そうしたら次のコマンドを実行してあげます
$ mkdir -p ~/.cache/dein
$ cd ~/.cache/dein
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh ~/.cache/dein
まず1行目では~/.cache/dein
ディレクトリがなかった場合ディレクトリを作成します。
2行目以降では~/.cache/dein
ディレクトリに移動し、そこにgithubからdeinを落とします。こうすることで自身の環境にdeinを導入します。
neovimの設定
初見では、neovimの設定をどこにするのか全然わからないと思います。ネットではvimrcがどうたらこうたら言っていて...
ここでは、neovimの設定ファイルを作成して書き込んで行きます。
まずはターミナルを新しく開きます。そうしたら次のコマンドを打ちます。
$ cd .config/nvim
この中にneovimの設定を書き込んで行きます。
まずはneovimの設定を書くinit.vim
とpluginの設定をかく、dein.toml
を作成するために次のコマンドを実行します。
$ touch init.vim dein.toml
そうしたらinit.vimを編集するために次のコマンドを実行します。
$ nvim init.vim
こうすることでneovimでinit.vimを編集することができます。
ですが、いきなりneovimで作業しだすとわけがわからないので次のようにしてください。
1. iキーを押す
2. したのコードをコピーしてinit.vimに貼り付け
3. そうしたescキーを押す
4. :wqと入力する
以下のコードは次の記事を参考に設定させていただきました。
if!&compatible
set nocompatible
endif" dein自体の自動インストールlets:cache_home= empty($XDG_CACHE_HOME) ? expand('~/.cache'): $XDG_CACHE_HOME
lets:dein_dir=s:cache_home.'/dein'lets:dein_repo_dir=s:dein_dir.'/repos/github.com/Shougo/dein.vim'if!isdirectory(s:dein_repo_dir)call system('git clone https://github.com/Shougo/dein.vim '. shellescape(s:dein_repo_dir))endiflet&runtimepath =s:dein_repo_dir.",".&runtimepath
" プラグイン読み込み&キャッシュ作成lets:toml_file= fnamemodify(expand('<sfile>'),':h').'/dein.toml'if dein#load_state(s:dein_dir)call dein#begin(s:dein_dir)call dein#load_toml('~/.config/nvim/dein.toml')call map(dein#check_clean(),"delete(v:val, 'rf')")call dein#end()call dein#save_state()endif" 不足プラグインの自動インストールif dein#check_install()call dein#install()endif
これは何をしてるのかと言うと,まずdeinがインストールされていなかったら自動でインストールしてくれます。次に、dein.tomlを読み込んでインストールされていないpluginがあったら自動でインストールします。
この辺は私自身も曖昧ですので間違いがありましたらご指摘ください。
pluginを導入する
次にdein.tomlを編集していきます
まずはターミナルで
$ nvim dein.toml
を実行してdein.tomlを開きます。
そうしたら以下のコード上と同じ手順で貼り付けします。
[[plugins]]repo='Shougo/dein.vim'
[[plugins]]はプラグインを追加しますと宣言します。
2行目に関しては、例えばrepo='hoge/huga'だったらとしたらgithubにあるhogeと言う人のhugaと言うリポジトリを追加すると言う意味になります。
PythonのPathを通す
pluginによってはpythonを使用することがあるためpythonのpathを通します。今回はpyenvを使用しません!
まずはbrewを使用してpython2とpython3をインスールします
それではターミナルを開き、以下のコマンドを実行します。
$ brew install python2
$ brew install python3
無事インストールが完了したら以下のコマンドを実行します
$ pip install neovim
$ pip3 install neovim
これで完了です。
そうしたらnvimを開き:CheckHealthというコマンドを実行します
以下のような結果になれば成功です
pluginを追加する
NERDTree
NERDTreeを使うことで簡単にファイルの移動が行えるようになります。
これを使用するには以下のように記述します。
[[plugins]]repo='scrooloose/nerdtree'
neovimで使用する際には:NERDTreeと打つことでファイルを表示できます。
nerdtree-git-plugin
こちらはNERDTreeを使用した際に、変更が加わったかなどのgitのステータスが見ることができます。
使用する際には以下のように記述します
[[plugins]]
repo = 'Xuyuanp/nerdtree-git-plugin'
vim-nerdtree-tabs
これを使うことで:NERDTreeTabsToggleを使うことで簡単に開閉することが出来ます
導入するには以下のようにしてください
[[plugins]]
repo = 'jistr/vim-nerdtree-tabs'
またinit.vimに
map <Leader>n<plug>NERDTreeTabsToggle<CR>
などと書くことでショートカットでの開閉が行えます。
上のコードに<Leader>
と書いてあると思いますがここを<Space>
に置き換えることで
Space+nを押した時に:NERDTreeTabsToggleを実行できます
また<Leader>n
を<C-n>
に置き換えることで
Ctrl+nを押した時にも同様にことができるようになります。
vim-devicons
こちらを導入することでNERDTreeを開いた時にファイルアイコンなどが出るようになります
導入するには以下のように記述してください。
[[plugins]]
repo = 'ryanoasis/vim-devicons'
こちらを導入するだけだとファイルアイコンが文字化けして表示されないかと思いますのでNerd Fontsを使用します。
Nerd Fonts
こちらの導入は今までのに比べると手間がかかります。
今回は公式リポジトリのやり方ではなく、予めNerd Fontsが適用されたフォントを使用させていただく形でやっていきます。公式のやり方でやりたい方は以下をご覧いただくと参考になると思います。
今回は以下のリポジトリをクローンしてnerd-fonts-fontpatchedフォルダのなかのフォントをインストールします。
https://github.com/macchaberrycream/RictyDiminished-Nerd-Fonts
そうしましたら、お使いのターミナルのフォントをいまインストールしたフォントに設定します。
ちなみに私の環境ではpowerLineを使用しているのですが、このフォントを使っても文字化けは起きませんでした。
lightline
こちらのpluginを使用することで、自分が今どのモードを使っているのか視覚的にわかりやすくなります
導入するには以下のように記述してください
[[plugins]]
repo = 'itchyny/lightline.vim'
最後に
かなり人のコードを貼り付けただけになりつつあり申し訳ないですが、誰かのお役に立てると幸いです。
(気が向いたらcoc.nvimの設定も書きます)