見出し画像

【NeoVim】プラグインを導入してモダンなNeovimにする

最初に・・・今回の最終目的

今回の記事は、最終的にNeoVimをこのようなモダンな見た目にします。↓

画像5

普段使いのテキストエディタのユーザーエクスペリエンスが快適であれば原稿書きもメモ書きもテンションが上がり、PCライフも豊かになるってものです。どうせ使うならモダンな見た目のほうが良いです。

というわけで今回はNeoVimのカスタマイズです。正直ハマると沼なのですが・・・それもまた楽し、です。
では早速いってみましょう。

まずプラグインマネージャを入れる

色々ありますが、一番気に入ったのがこれ。

選んだ理由1:設定や仕組みがシンプルで分かりやすい。
選んだ理由2:ちゃんと動いた。

プラグインマネージャーに迷ったら悩まずVim-PlugでOK。

プラグインの基本設定

(ステップ1)これをTeminalにコピペして実行。

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
      https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

(ステップ2)「~/.config/nvim」の中に

~/.config/nvim/plugged

というフォルダを作る。

(ステップ3)「~/.config/nvim/init.vim」を開き、

"// PLUGIN SETTINGS
call plug#begin('~/.config/nvim/plugged')

(ここにプラグインリストを書いていく)
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

call plug#end()

と記述。プラグインの記述をとりあえず例として2行書いてますが、あとで追加します。

プラグイン環境の基本設定は以上。

(プラグイン1)Vim-Airlineプラグイン

効用:ステータスバーをモダンにします。
設定:設定はのちほど。
(参考資料↓)

(プラグイン2)Vim-commentary

効用:コメントアウト・インが「gcc」で簡単に出来るプラグイン。
設定:設定はのちほど。

(プラグイン3)NERDTree

効用:モダンなファイルブラウザが左側に表示出来るようになります。
設定:設定はのちほど。


プラグイン群をいろいろまとめてインストール

(ステップ1)
とりあえず、まず四の五の言わず最初にNerd Fontsをインストール。こちらのサイト↓


(Option 8)の方法を取るのが一番簡単。以下のコマンドをTerminalにコピペして実行するだけ。

mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

これで「Droid Sans Mono Nerd 」フォントがインストール完了。

(ステップ2)
次に、「~/.config/nvim/init.vim」のプラグインの設定部分を以下のように書き換え。

"// PLUGIN SETTINGS
call plug#begin('~/.config/nvim/plugged')

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tpope/vim-commentary'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'preservim/nerdtree'
Plug 'ryanoasis/vim-devicons'
 
call plug#end()
 
" NERDTree SETTINGS
"
nmap <C-f> :NERDTreeToggle<CR>

" Airline SETTINGS
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
nmap <C-p> <Plug>AirlineSelectPrevTab
nmap <C-n> <Plug>AirlineSelectNextTab

とりあえず現在の私の「init.vim」の全設定はこのような感じ。↓

set number
set guifont=DroidSansMono\ Nerd\ Font\ 13
set guifontwide=DroidSansMono\ Nerd\ Font\ 13
set hlsearch
set smartindent
set laststatus=2
set wildmenu
set lines=70 columns=150
set ruler
set history=1000
set encoding=utf8
syntax enable

" PLUGIN SETTINGS
call plug#begin('~/.config/nvim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tpope/vim-commentary'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'preservim/nerdtree'
Plug 'ryanoasis/vim-devicons'
call plug#end()

" NERDTree SETTINGS
nmap <C-f> :NERDTreeToggle<CR>
let g:airline#extensions#tabline#enabled = 1
nmap <C-p> <Plug>AirlineSelectPrevTab
nmap <C-n> <Plug>AirlineSelectNextTab


" Airline SETTINGS
let g:airline_powerline_fonts = 1

" Esc SETTINGS
inoremap jk <Esc>
inoremap jj <Esc>

" /// Enable Netrw (default file browser)
" filetype plugin on
" /// Netrw SETTINGS
" let g:netwr_banner = 0
" let g:netrw_liststyle = 3
" let g:netrw_browse_split = 4
" let g:netrw_winsize = 30
" let g:netrw_sizestyle = "H"
" let g:netrw_timefmt = "%Y/%m/%d(%a) %H:%M:%S"
" let g:netrw_preview = 1

"/// SPLIT BORDER SETTINGS
hi VertSplit cterm=none


(ステップ3)プラグイン群のインストール
Neovimを再起動し、vimコマンドで

:PlugInstall

でプラグインインストールを実行。記述されたプラグイン群がインストールされる。

(ステップ4・ちょいと最後の仕上げ)
Terminalの設定で、カスタムフォントにチエック。先にインストールしておいた「Droid Sans Mono Nerd Font」にする。

画像1

ひとまず完成

とりあえず基本のプラグインのインストールは完了。Vimをリロードしたら「ツリー表示もタブ表示も出来るモダンUIなNeoVimの基本形
が完成してるはず。

画像5

ファイルブラウザのアイコンはこんな感じ↓

画像3

タブ表示はこのような感じ。私は「Ctr+P(Previous)」で前に、「Ctr+N(Nex)」で次に進むというキーバインド設定にしています。↓

画像6

ステータスバーはこんな感じ。そもそもこのカスタマイズ沼にハマった事の発端は「この矢印形の表示がしたかっただけ」だったりします。↓

画像4

以上、

「プラグインを導入してNeoVimをモダンなテキストエディタにブラッシュアップする土台作りの話」

でした。
ではまた。


       *   *   *




P.S. テキストエディタよもやま話

テキストエディタは普段気にもとめない空気のような存在です。しかし、Windows・Mac・LinuxからiOS・iPadOS・Androidまで全てのPCやタブレット、スマホにも入ってます。OSもアプリも人間がコードを書くことから生まれる。コードを書くのはテキストエディタ。つまりテキストエディタは「全ての基本」となるアプリなわけです。

エディタアプリは無数にあり、今も生まれ続けています。「全ての基本」であり、かつ色々な好みや用途があるからこそこれだけ膨大な数のいろいろな「書くアプリ」が登場しているのだと思います。

Vim自体は1991年生まれですが、その祖先のViは1976年生まれ。同じく1976年生まれのEmacsと並び、世の中にあふれる多くの「書くアプリ」の中ではかなりのベテランアプリと言えます。スマホはおろか、インターネットが一般的に普及するはるか前から存在するアプリです。もっというと、マウスすら一般的ではない時代に生まれたアプリです。

それでも今も現役で、かつ熱いファンがいます。出てきては消えていく無数のエディタアプリの栄枯盛衰を乗り越えて未だに残っている。これはなにか理由があるように思えてなりません。

書くことが好きな私は当然その道具であるエディタアプリが大好きです。いろんなエディタアプリを使ってきましたし、ちょっと昔話ですが、Macのテキストエディターアプリ「CotEditor」誕生の際には初代アイコンとPHPカラーシンタックス定義コードの制作をお手伝いさせて頂いたこともあります。

「CotEditor」アイコンに関わったのはアイコンがなかった生まれたての頃の最初のヴァージョンだけです。とりあえずアイコンが必要だろうということで急いで作らないと!と、半分やっつけ仕事みたいな感じでした。しかし、強くこだわったことがあります。
それは「アイコンのメインテーマ色」です。

テキストエディタは長時間眺めます。親しみやすく、長時間文字を眺める「書く人たち」のために目を癒やす色がいいな、と思い「グリーン」にしました。CotEditor初代開発者のnakamuxuさんにも気に入って頂いて採用となりました。

その後CotEditorのアイコンはメジャーバージョンアップの度に何度か更新されて今はモダンなアイコンに変わってますが、今でもテーマカラーの「グリーン」が使われているのを見ると、なんとなく嬉しくなったりします。

また、そのCotEditorのお手伝い後はオープンソースのブログエンジン開発の活動もやっていました。その頃はPHPとHTML+CSSにどっぷりで日々コーディングをしていたので膨大なコードをテキストエディタで書いていました。「書くWebアプリを書くためのテキストエディタ」ということで、Macではまだ黎明期で未完成だったCotEditorを使いつつ、MacVimも併用して使い、UbuntuでもGVimを使っていた、という経緯があります。

まぁ、そのくらい「書くこと」が好きであり、書く道具であるテキストエディタが好き、ということです。Vimは一筋にずっと使っていたわけではなく、昔Ubuntuをメインにしていた時に一時期集中的にどっぷり使っただけだったので、「沢山触ってきたエディタの中のひとつ」、という感じでした。「付き合いが長い」というよりは「昔情熱的なひと夏を過ごした昔の恋人」のような存在ですか。浮気性なので今でも新しいのが出ると「おっ」となって触ってみたりします。この「note」も「書く道具」のひとつですね。ほんと、我ながら書く道具が好きなんだなとあらためて思います。

その「書くための」道具を色々使うなかで沢山のモダンなテキストエディタがいろいろ生まれてきました。それらを使い込んで来たにもかかわらず、また再びVimに戻ってきました。戻ってきたくて戻ってきたわけではなく、「書くこと」にこだわり続け、効率やらなにやら突き詰めていったら、自然とVimに戻ってきた感じです。なので、説得力のある明確な答えはまだ見つかっていませんが・・・

「Vimには理屈では語りきれない何かがあるに違いない」


と思っています。それは、マウスが一般的でない時代に生まれ、その原始的な制限された環境の中で生み出された

書くという行為の本質とプリミティブな魅力

が詰まっているからかもしれません。

本文より余談の方が長くなってしまいました。やはり「書くこと」が好きなようです。

ではではまたまた。


この記事が気に入ったらサポートをしてみませんか?