Slide 1

Slide 1 text

なぜ私はVimを使うことになったのか 開発用エディターとしてのVimの有用性に関するご報告 2019/7/26 Hoda 30代、業務未経験でIT業界へ飛び込みWebエンジニアへ Webサービスを支えるインフラの運用保守、Python/Django のアプリ改修・開発など経験 現在はVue.js, Golangのアプリ開発支援に従事 Twitter: @1031hoda

Slide 2

Slide 2 text

なぜ私はVimを使うことになったのか

Slide 3

Slide 3 text

現プロジェクトは強固なプロキシが敷かれた環境 個々の開発者でそれぞれプロキシ対策を実施していた 背景 プロ キシ の壁 環境依存をなくすため、共有のサンドボックスを用意 しかしVS Codeのリモート接続がうまくいかない

Slide 4

Slide 4 text

- 立ちはだかるプロキシの壁 - VS Codeの設定難易度の高さ 背景 打開案A: 有料の高機能エディターの導入 (IntelliJ、Golandなど) 打開案B: Vimでがんばる Vimならリモート接続の設定なしで使える もっと円滑に開 発を進められ ないか。。

Slide 5

Slide 5 text

目的 サンドボックス内にVimを導入 開発をスムーズに行えるようになるかを検証 ↓ 使いこなせれば開発用エディタとして 有用であることがわかりましたので 情報をシェアします! Vim

Slide 6

Slide 6 text

はじめにやったこと

Slide 7

Slide 7 text

- 基本的な操作 「h, j , k, l, w, b」でカーソル移動 「yy」でヤンク(コピー)、「p」で貼り付け...など - テキストオブジェクト 単語や文字列をまとめて操作できる 例:「diw」...カーソル位置の単語を削除  ↑「w」を「”」にすると「”」で囲まれた文字列をまとめて削除可能 知っている人に聞いて基本的な使い方を復習した 分かってるつもりでも意外と知らないことがあったり 復習すると新たな気づきが得られる

Slide 8

Slide 8 text

- ビジュアルモード 文字単位、行単位、矩形単位で選択し、操 作、編集が可能 例:複数行の行頭や行末に一気に文字をい れる - タブ機能 :tabe とかで複数のファイルをタブとして開 いたりできる 知っている人に聞いて基本的な使い方を復習した テキストオブジェクトとビジュアルモードを使えると 標準のメモ帳アプリより効率よくコーディングできる

Slide 9

Slide 9 text

プラグインの導入と Dockerを利用した試験環境の構築

Slide 10

Slide 10 text

開発として使うのであれば、少なくとも下記の機能は実装したい ある程度使えるようになると Vimをもっと便利にしたくなる - カラースキーム - リアルタイム入力補完 - フォーマッター - リンター プラグインで 実現可能

Slide 11

Slide 11 text

Dockerを利用した試験環境の構築 GoとVimがインストールされた Ubuntuのコンテナを用意 コードはサンドボックスのホスト側 に置き、各コンテナへマウント。 開発者はssh越しにUbuntuのコ ンテナへアタッチし、Vimでコード を編集する。 リポジトリURL: https://github.com/hodanov/docker-env-for-vim

Slide 12

Slide 12 text

Dockerを利用した試験環境の構築 ディレクトリ構成 . ├── docker-compose.yml ├── go/ ~ ├── go.dockerfile ├── vim.dockerfile └── vimrc/ └── .vimrc リポジトリURL: https://github.com/hodanov/docker-env-for-vim プラグインのインストールま で自動化 docker-compose up -d で すぐに使える環境が起動 Dockerのビルド時に コンテナへコピー

Slide 13

Slide 13 text

結果...配色、フォーマッター、リンターも使えてそこそこイ ケてる感じに。。! 使用プラグイン - Vundle - Monokai - NERDTree - Vim-go ↑ファイル  マネージャー NERDTree ↓リンター Vim-go 色 Monokai

Slide 14

Slide 14 text

導入は簡単だが学習コストが高い(と感じた私は弱々エンジニア)。しかしリモート越しで の開発、かつ高機能エディタが使えない環境ではEmacsと並んでおそらく最適解。先駆者 の作成したプラグインが強力なので、使いこなせれば開発も捗ると思われる。そして使っ ていて楽しい。 課題・気になる点 - 入力補完機能が使いづらい (↑リアルタイムで入力補完できる?調査中) - できればデバッグもしたい (↑Vim-goの機能にあるかも?調査中←ありました!) まとめ

Slide 15

Slide 15 text

最後に ゴリラ.vimのみなさま ご静聴ありがとうございました! :wq