Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

初心者が送る初心者のためのneovim

$
0
0

初心者が送る初心者のためのneovim

皆さんはエディターで作業をしていますか?色々あると思います。私はと言うと最近vscodeからneovimに乗り換えました。今回はvim初心者の私がどうやってneovimに乗り換えたかをお伝えしていきたいと思います。

注意:この記事ではvimの操作説明をする気はないので操作に関しましてはこちらを参考にしてください

https://qiita.com/JpnLavender/items/fabcc79b4ab0d52e1f6d

neovimとは?

neovimとは、vimよりもメンテナンスがしやすい物を作ってみんなでより良くして行こう!と言う物です(かなりざっくり)

詳しくはこちらの記事:https://qiita.com/lighttiger2505/items/440c32e40082dc310c1e

NeoVimをインストール

今回はMacで環境を構築していきます。
まずはneivimをインストールします。
まずはターミナルを開きます。

そうしたら次のコマンドをうちます

$ brew install neovim

brewを導入されていない方はこちらが参考になります

https://qiita.com/b4b4r07/items/6efebc2f3d1cbbd393fc

はい、これでneivimのインストールは終わりです!
試しにターミナルで次のコマンドを実行します

$ nvim --version

私の環境ではこのような結果になりました

NVIM v0.4.3
Build type: Release
LuaJIT 2.0.5

人によってversionは異なると思いますがこのような結果が得られれば成功です

neovimをカスタマイズする

何の設定をしていないvimも確かにいいです。ターミナルで作業できますし、軽いし、何より全ての動作がキーボードで完結します。しかし、vimには便利なプラグインがたくさん入れます。ここからはプラグインなどの設定をしていきます。

deinを導入する

deinとはプラグインマネージャーです。つまり、deinを導入することでプラグインを入れたり、消したり、アップデートしたりなどが簡単に出来る様になります。

deinの導入に関してはこちらの記事を参考にさせていただきました

https://qiita.com/Coolucky/items/0a96910f13586d635dc0

まずは、ターミナルを開きます。そうしたら次のコマンドを実行してあげます

$ 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と入力する
以下のコードは次の記事を参考に設定させていただきました。

https://qiita.com/hanaclover/items/f45250b55e2298c4ac5a

init.vim
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を開きます。
そうしたら以下のコード上と同じ手順で貼り付けします。

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というコマンドを実行します
以下のような結果になれば成功です

スクリーンショット 2019-12-08 15.52.02.png

pluginを追加する

NERDTree

https://github.com/scrooloose/nerdtree

NERDTreeを使うことで簡単にファイルの移動が行えるようになります。
これを使用するには以下のように記述します。

dein.toml
[[plugins]]repo='scrooloose/nerdtree'

neovimで使用する際には:NERDTreeと打つことでファイルを表示できます。
image.png

画像元:https://github.com/scrooloose/nerdtree

nerdtree-git-plugin

https://github.com/Xuyuanp/nerdtree-git-plugin

こちらはNERDTreeを使用した際に、変更が加わったかなどのgitのステータスが見ることができます。
使用する際には以下のように記述します

[[plugins]]
repo = 'Xuyuanp/nerdtree-git-plugin' 

vim-nerdtree-tabs

https://github.com/jistr/vim-nerdtree-tabs

これを使うことで:NERDTreeTabsToggleを使うことで簡単に開閉することが出来ます
導入するには以下のようにしてください

[[plugins]]
repo = 'jistr/vim-nerdtree-tabs' 

またinit.vimに

init.vim
map <Leader>n<plug>NERDTreeTabsToggle<CR>

などと書くことでショートカットでの開閉が行えます。
上のコードに<Leader>と書いてあると思いますがここを<Space>に置き換えることで
Space+nを押した時に:NERDTreeTabsToggleを実行できます
また<Leader>n<C-n>に置き換えることで
Ctrl+nを押した時にも同様にことができるようになります。

vim-devicons

https://github.com/ryanoasis/vim-devicons

こちらを導入することでNERDTreeを開いた時にファイルアイコンなどが出るようになります
導入するには以下のように記述してください。

[[plugins]]
repo = 'ryanoasis/vim-devicons' 

こちらを導入するだけだとファイルアイコンが文字化けして表示されないかと思いますのでNerd Fontsを使用します。

Nerd Fonts

https://github.com/ryanoasis/nerd-fonts

こちらの導入は今までのに比べると手間がかかります。
今回は公式リポジトリのやり方ではなく、予めNerd Fontsが適用されたフォントを使用させていただく形でやっていきます。公式のやり方でやりたい方は以下をご覧いただくと参考になると思います。

https://qiita.com/park-jh/items/4358d2d33a78ec0a2b5c

今回は以下のリポジトリをクローンしてnerd-fonts-fontpatchedフォルダのなかのフォントをインストールします。

https://github.com/macchaberrycream/RictyDiminished-Nerd-Fonts

そうしましたら、お使いのターミナルのフォントをいまインストールしたフォントに設定します。
ちなみに私の環境ではpowerLineを使用しているのですが、このフォントを使っても文字化けは起きませんでした。

lightline

https://github.com/itchyny/lightline.vim

こちらのpluginを使用することで、自分が今どのモードを使っているのか視覚的にわかりやすくなります
導入するには以下のように記述してください

[[plugins]]
repo = 'itchyny/lightline.vim'

最後に

かなり人のコードを貼り付けただけになりつつあり申し訳ないですが、誰かのお役に立てると幸いです。
(気が向いたらcoc.nvimの設定も書きます)


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>