×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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