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

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

hoda
July 26, 2019

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

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

hoda

July 26, 2019
Tweet

More Decks by hoda

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. 目的
    サンドボックス内にVimを導入
    開発をスムーズに行えるようになるかを検証

    使いこなせれば開発用エディタとして
    有用であることがわかりましたので
    情報をシェアします!
    Vim

    View Slide

  6. はじめにやったこと

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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のビルド時に
    コンテナへコピー

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide