CCCMKホールディングス TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

Vimの勉強会で発表しました!

f:id:miu4930:20191003135220p:plain
Vim、そう、あれです
こんにちは!研究所の三浦です。先日当社の9FにあるCafeで、Vimを使われている方(Vimmer)の集い「ゴリラ.vim#8」が開催され、スポンサードセッション枠で発表させて頂きました!

Vimって何?

エンジニア系の方にはおなじみのテキストエディタです。Unix系OSで使う機会が多いと思います。キーボードで全ての操作を行うことができるため、マウスとキーボードを持ち変える必要がなく、慣れるとスピーディーにテキストやソースコードを作成することができます。またカスタマイズ性が高く、設定ファイルなどで自分好みのVimにされている方もたくさんいるようです。

ゴリラ.vim

そんなVimが好き・興味がある人が集い、知見や体験の共有をすることでより良いVimライフを送ることを目的とした会です。概ね月1回、都内の各所で開催されているそうです。
ゴリラ.vim - connpass

発表の内容

私は実は普段VimではなくVisual Studio Codeというエディタでソースコードやらを書いていました。VimについてはLinux環境でテキストを編集するときに使うくらいで、あまり思い入れもありませんでした。なのでVimの勉強会があると聞いたときには「いったい何を勉強するんだろう?」と不思議に思い、興味本位で参加を決めました。せっかく参加するのでVimを使ってみようと触り始めたところ、少しずつVimの魅力に気づき始めました。そしてそんな思いをお話したいな、ということで発表させて頂きました。

f:id:miu4930:20191003175329p:plain
Vimは十字キーをなるべく使わないほうが良いらしいので十字キーを封印
当日の資料はslideshareにアップしています。
2019年Vimに出会ったsummer

また、Youtubeに動画も上がっていますのでリンクを貼ります。48分くらいから喋ってます。
ゴリラ.vim #8 - YouTube

当日の様子

他の方に比べるとまったくのVim初心者ですが、暖かく接して頂きました。また、Vim以外にも普段の開発業務に関する様々な情報を教えて頂き大変勉強になりました。次回もまた参加したいなと思いました。あと、ゴリラさんにバナナを頂きました。なんか文章にすると不思議な話ですね。

その後・・・

ゴリラ.vimに触発され、色々とやってみました。とりあえず現状の開発環境をごらんください。

f:id:miu4930:20191003173811p:plain
闇の力をまといし開発環境
簡単にまとめると、Vimの流れを組む次世代のテキストエディタNeovimにdark powerd(闇の力)のpluginマネージャを導入、闇の力をまとった開発環境を構築した、ということです。ちなみに普段使っているOSがWindows10なのですが、思い切ってWSL(Windows Subsystem for Linux)上に環境を作りました。

Neovim

ゴリラ.vimに参加された方に教えて頂きました。後で色々調べてみると、NeovimはVimから派生し、Vimのリファクタリングを行っているプロジェクトで機能的にはVimとほぼ変わらず、かつ新しい機能の追加が精力的に行われているようです。今後もVimと付き合うことを考え、Neovimの導入を決めました。
Home - Neovim

dein.vim

Vim界で有名なShougoさんが開発されたVim/Neovimのpluginマネージャです。 GitHub - Shougo/dein.vim: Dark powered Vim/Neovim plugin manager

Githubを見ると「Dark powered Vim/Neovim plugin manager」というすごい一文が記されています。闇の力・・・!! ちなみに設定ファイルにこんなようにGithubのリポジトリを指定すれば、次回Neovimを立ち上げると自動的にpluginをインストールしてくれます。とても便利です。

  [[plugins]]
  repo = 'prabirshrestha/vim-lsp'

改造内容

plugin

以下のpluginを入れてみました。

  • vim-lsp/vim-lsp-python/asyncomplete.vim/asyncomplete-lsp.vim/deoplate.nvim ソースコードを書く際に入力候補一覧を表示し、選択すると補完してくるようにしました。

    f:id:miu4930:20191003174552p:plain
    コードヒント
    普段はPythonでコードを書くことが多いので、Pythonのものを入れました。

  • nerdtree
    エクスプローラみたいにファイルやフォルダ一覧を表示し、ファイルを開くことがNeovimからできるようになります。

    f:id:miu4930:20191003174645p:plain
    ファイルツリー(左側のウィンドウ)

  • candid.vim
    candidというcolorscheme(デザイン)にするため入れました。他にもさまざまなcolorschemeが公開されています。
    Vim Colors

init.vim

Neovimの細かい設定はinit.vimというファイルに記入します。一旦見様見真似で作り、独自に以下のような設定を加えました。init.vimの設定方法については理解不足のため、調査して別の記事で取り扱いたいと思います。

"ヤンクしたテキストをクリップボードからも見れるようにする
set clipboard=unnamedplus
" タブがデフォルトだと半角スペース8こ分で大きすぎるので4こに変更する
set shiftwidth=4
set tabstop=4
set shiftround
" colorschemeのデフォルト指定
colorscheme candid

さいごに

いかがでしょうか?この記事を読んで少しでもVimに興味を持って頂けると幸いです。私もまだまだ初心者なので、もっとVimと付き合って記事にしていきたいと思います!
CCCマーケティングでは新しいことに挑戦し、盛り上げていってくれる仲間を募集しています!Vimmerの方、大歓迎です!ご興味ある方は応募フォームよりご応募ください!!