Vim の開発環境自慢

22.1K Views

December 23, 21

スライド概要

https://rakus.connpass.com/event/222477/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Vim の開発環境自慢 エディタ好きは語りたい LT会 - vol.2

2.

注意

3.

注意 Vim 以外のエディタの話はでてこない Neovim や VSCode, Emacs など

4.

注意 Vim 以外のエディタの話はでてこない Neovim や VSCode, Emacs など レガシーな環境 サポート外のプラグインも使ってる

5.

注意 Vim 以外のエディタの話はでてこない Neovim や VSCode, Emacs など レガシーな環境 サポート外のプラグインも使ってる Vim についての解説・説明はない

6.

自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ : Secret Garden(Instrumental) Rails エンジニア

7.

自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ : Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい?

8.

自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ : Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個

9.

自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ : Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個 自作プラグイン数: 150個以上

10.

自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ : Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個 自作プラグイン数: 150個以上 GVim 使い

11.

自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ : Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個 自作プラグイン数: 150個以上 GVim 使い ブラウザ上で `:help` できるサイトをつくったり http://vim-help-jp.herokuapp.com/#

12.

エディタ歴

13.

エディタ歴 TeraPad: 2〜3年

14.

エディタ歴 TeraPad: 2〜3年 Visual Studio: 5〜7年

15.

エディタ歴 TeraPad: 2〜3年 Visual Studio: 5〜7年 Emacs: 3ヶ月ぐらい

16.

エディタ歴 TeraPad: 2〜3年 Visual Studio: 5〜7年 Emacs: 3ヶ月ぐらい Vim: 10年 ← いまここ

17.

Vim でどういう事をしている?

18.

Vim でどういう事をしている? コードリーディング、ライティング

19.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行

20.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行

21.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック

22.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照

23.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成

24.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作

25.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find

26.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット)

27.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く

28.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行

29.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く

30.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く

31.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換

32.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較

33.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索

34.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形

35.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形 雑多なメモ管理

36.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形 雑多なメモ管理 Scrapbox へのポスト

37.

Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作 grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形 雑多なメモ管理 Scrapbox へのポスト ツイート

38.

Vim でなんでもやってるよ!

39.

Vimでやってない事

40.

Vimでやってない事 シェル操作 簡単な git の操作とか

41.

Vimでやってない事 シェル操作 簡単な git の操作とか プロセスを常駐させるようなもの `rails server` とか

42.

Vimでやってない事 シェル操作 簡単な git の操作とか プロセスを常駐させるようなもの `rails server` とか 対話的なデバッグ `binding.irb` とか

43.

デモ

44.

Vim を使い続ける理由

45.

Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く

46.

Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる

47.

Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる `operator / textobj` テキストを編集する機能 個人的にこれが一番大きい 他のエディタにはない特徴 が存在している

48.

Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる `operator / textobj` テキストを編集する機能 個人的にこれが一番大きい 他のエディタにはない特徴 が存在している 拡張性が高い・資産が大きい 制限はあるものの Vim 上でだいたい事ができる 一方で学習コストも高い

49.

Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる `operator / textobj` テキストを編集する機能 個人的にこれが一番大きい 他のエディタにはない特徴 が存在している 拡張性が高い・資産が大きい 制限はあるものの Vim 上でだいたい事ができる 一方で学習コストも高い 一度環境を使えばある程度の言語に対応できる 環境や言語に依存しない

50.

プラグイン紹介 プラグイン管理 https://github.com/Shougo/neobundle.vim コード補完 https://github.com/Shougo/deoplete.nvim https://github.com/ujihisa/neco-look コード実行 https://github.com/thinca/vim-quickrun LSP https://github.com/prabirshrestha/vim-lsp https://github.com/mattn/vim-lsp-settings スニペット https://github.com/Shougo/neosnippet.vim https://github.com/cohama/lexima.vim

51.

プラグイン紹介 コメントアウト系 https://github.com/tyru/caw.vim 単語のハイライト https://github.com/t9md/vim-quickhl カーソル下の単語のハイライト https://github.com/osyo-manga/vim-brightest ファイラ https://github.com/Shougo/defx.nvim https://github.com/kristijanhusak/defx-icons シェル https://github.com/Shougo/vimshell.vim ANSIカラーのハイライト https://github.com/powerman/vim-plugin-AnsiEsc

52.

プラグイン紹介 ファイル検索系(grep / find など) https://github.com/Shougo/denite.nvim https://github.com/osyo-manga/vim-frill テキスト検索 https://github.com/haya14busa/vim-asterisk 検索数の表示 https://github.com/osyo-manga/vim-anzu ルールに沿ってテキストを置換する https://github.com/uplus/vim-clurin 対応するカッコのハイライト https://github.com/andymass/vim-matchup プレビューしながら置換 https://github.com/osyo-manga/vim-over

53.

プラグイン紹介 ビジュアル的にウィンドウの選択 https://github.com/t9md/vim-choosewin インデントラインの表示 https://github.com/Yggdroot/indentLinehttps://github.com/Yggdroot/indentLine undo tree の表示 https://github.com/mbbill/undotree git 操作 https://github.com/hrsh7th/vim-versions https://github.com/airblade/vim-gitgutter https://github.com/hrsh7th/vim-gitto https://github.com/hrsh7th/vim-denite-gitto https://github.com/tyru/open-browser.vim

54.

プラグイン紹介 Vim 上で github のテキストを入力 https://github.com/raghur/vim-ghost メモプラグイン https://sites.google.com/site/fudist/Home/qfixhowm https://github.com/osyo-manga/unite-qfixhowm Twitter https://github.com/basyura/TweetVim SQL の整形 https://github.com/vim-scripts/SQLUtilities

55.

プラグイン紹介 (operator) ヤンクしたテキストと入れ替え https://github.com/kana/vim-operator-replace 指定したテキストとテキストの入れ替え https://github.com/osyo-manga/vim-operator-swap `()` や `{}` `""` などでテキストを囲う https://github.com/rhysd/vim-operator-surround テキストのハイライト https://github.com/osyo-manga/vim-operator-highlighter 複数行の矩形操作 https://github.com/osyo-manga/vim-operator-blockwise 指定したコマンドを実行する https://github.com/osyo-manga/vim-operator-exec_command

56.

プラグイン紹介 (textobj) 関数の引数 https://github.com/anyakichi/vim-textobj-xbrackets `()` `{}` `[]` など抽象的なカッコ https://github.com/osyo-manga/vim-textobj-multiblock 正規表現にマッチするテキスト https://github.com/osyo-manga/vim-textobj-from_regexp

57.

ご清聴 ありがとうございました