Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

6f114f6f8a30c4a5bde5f6c91d5c2935?s=47 hoda
July 26, 2019

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

ゴリラ.vim #6で発表した資料です。「なぜ私はVimを使うことになったのか」というテーマで発表しました。強固なプロキシ環境下かつリモート越しの開発において、VS Codeの代わりにVimを試験的に使用した経験から、開発用エディターとしてのvimの有用性について情報を共有します。

6f114f6f8a30c4a5bde5f6c91d5c2935?s=128

hoda

July 26, 2019
Tweet

Transcript

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

    @1031hoda
  2. なぜ私はVimを使うことになったのか

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

  4. - 立ちはだかるプロキシの壁 - VS Codeの設定難易度の高さ 背景 打開案A: 有料の高機能エディターの導入 (IntelliJ、Golandなど) 打開案B:

    Vimでがんばる Vimならリモート接続の設定なしで使える もっと円滑に開 発を進められ ないか。。
  5. 目的 サンドボックス内にVimを導入 開発をスムーズに行えるようになるかを検証 ↓ 使いこなせれば開発用エディタとして 有用であることがわかりましたので 情報をシェアします! Vim

  6. はじめにやったこと

  7. - 基本的な操作 「h, j , k, l, w, b」でカーソル移動 「yy」でヤンク(コピー)、「p」で貼り付け...など

    - テキストオブジェクト 単語や文字列をまとめて操作できる 例:「diw」...カーソル位置の単語を削除  ↑「w」を「”」にすると「”」で囲まれた文字列をまとめて削除可能 知っている人に聞いて基本的な使い方を復習した 分かってるつもりでも意外と知らないことがあったり 復習すると新たな気づきが得られる
  8. - ビジュアルモード 文字単位、行単位、矩形単位で選択し、操 作、編集が可能 例:複数行の行頭や行末に一気に文字をい れる - タブ機能 :tabe とかで複数のファイルをタブとして開

    いたりできる 知っている人に聞いて基本的な使い方を復習した テキストオブジェクトとビジュアルモードを使えると 標準のメモ帳アプリより効率よくコーディングできる
  9. プラグインの導入と Dockerを利用した試験環境の構築

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

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

  12. 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のビルド時に コンテナへコピー
  13. 結果...配色、フォーマッター、リンターも使えてそこそこイ ケてる感じに。。! 使用プラグイン - Vundle - Monokai - NERDTree -

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

    (↑Vim-goの機能にあるかも?調査中←ありました!) まとめ
  15. 最後に ゴリラ.vimのみなさま ご静聴ありがとうございました! :wq