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

PHPer のための Vim 実践入門 - PHP Conference 2020

1ac5890739d082cd2f2f91e3c1799b4d?s=47 hamakou108
December 12, 2020
240

PHPer のための Vim 実践入門 - PHP Conference 2020

PHP Conference 2020 の登壇資料です。
一部 Gif アニメーションが動いていない箇所があるので、修正版を後日公開します。

1ac5890739d082cd2f2f91e3c1799b4d?s=128

hamakou108

December 12, 2020
Tweet

Transcript

  1. PHPer のための Vim 実践⼊⾨ 2020.12.12 PHP Conference Japan 2020 株式会社M&Aクラウド

    濱⽥晃輔 @ hamakou108
  2. ⾃⼰紹介 濱⽥晃輔 @ hamakou108 株式会社M&Aクラウド Web エンジニア PHP, JavaScript (Node,

    Vue), etc. Vimmer このスライドは Vim (+ marp) で書きました
  3. Vim 使ってますか?

  4. 私はほぼ毎⽇ Vim を使ってます

  5. Vimmer に対する世間のイメージ

  6. (そう⾔われてまで) どうしてそんなに Vim にこだわるの? スピード? コマンドの多さ?

  7. Mastering the Vim Language - YouTube

  8. Chris Toomey ⽒の⾔葉 Speed is nice, it's a benefit that

    I do get from using Vim but it's not the key reason that I use it. I use Vim because I don't have to think. Vim からその素晴らしい操作スピードを享受していますが、 Vim を使⽤する最も重要な 理由はスピードではありません。頭を使う必要がなくなるから Vim を使うのです。
  9. 使えば使うほど思考と操作のシンクロ率が上がるから ※ 個⼈の感想です。

  10. ということで、みんな Vim を使おう!

  11. fin

  12. fin

  13. Vim の弱点: 開発補助機能の不⾜

  14. 現代の開発には IDE が備える開発補助機能は不可⽋ Completion, Snippet, Linting File Tree Run Test

    Git ...
  15. Vim は本格的な開発には使えない?

  16. None
  17. Vim (左)と PhpStorm (右)の⽐較

  18. 主な使⽤技術 Language Server Protocol (LSP) Vim [^1] + plugins [^1]:

    正確には Neovim という別流派の Vim 実装を使っています。
  19. Language Server Protocol (LSP)

  20. Language Server Protocol (LSP) ⾃動補完やリンタなどの機能を開発環境に提供する I/F を標準化するためのプロトコル What is the

    Language Server Protocol? - Microsoft
  21. Plugins

  22. Completion, Snippets, Linter coc.nvim, coc-phpls, coc- snippets LSP 互換の開発補助プラグイン ⼊⼒中の補完やスニペット挿⼊

    リンティング その他の機能 定義ジャンプ シンボルの参照先の⼀覧表⽰ シンボル名の⼀括リネーム etc.
  23. File Tree defx.nvim, defx-icons, defx-git ツリー表⽰ ファイルのアイコン表⽰ Git のステータス表⽰ 作成や削除といったファイル操作

  24. Test vim-test スコープごとのテスト実⾏が可能 カーソル⾏のテスト テストクラスの全テスト テストスイーツの全テスト

  25. Git vim-gitgutter, fugitive.vim 修正箇所を + , - , ~ で⾏番号の

    隣に表⽰ Vim 上で git status を開き、そ のまま add, commit などが可能
  26. まとめ Vim は思考負荷を軽減してくれる素晴らしいエディタ LSP と Plugins を駆使すれば Vim でも PHP

    の開発は⼗分可能 開発環境の構築は楽しいし、学びも多いのでオススメ!
  27. ご清聴ありがとうございました!