Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vim の開発環境自慢
Search
osyo
September 22, 2021
Programming
5
3k
Vim の開発環境自慢
https://rakus.connpass.com/event/222477/
osyo
September 22, 2021
Tweet
Share
More Decks by osyo
See All by osyo
5分で話せる Ruby 3.1
osyo
0
170
AST を使って ActiveRecord の where の条件式をブロックで記述しよう
osyo
2
1.2k
Use Macro all the time ~ マクロを使いまくろ ~ 感想戦
osyo
0
300
Use Macro all the time ~ マクロを使いまくろ ~ (English)
osyo
3
390
Use Macro all the time ~ マクロを使いまくろ ~ (日本語)
osyo
0
2.2k
月単位でイテレーションする
osyo
0
330
Ruby 3.0 で変わった private と attr_xxx
osyo
1
740
Ruby 2.0 から Ruby 3.0 を駆け足で振り返る
osyo
0
1.8k
12月25日にリリースされる Ruby 3.0 に備えよう!
osyo
1
3.2k
Other Decks in Programming
See All in Programming
Is Xcode slowly dying out in 2025?
uetyo
1
250
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
410
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
60
17k
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
260
Porting a visionOS App to Android XR
akkeylab
0
270
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
700
A2A プロトコルを試してみる
azukiazusa1
2
1.3k
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
500
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
680
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
730
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Automating Front-end Workflow
addyosmani
1370
200k
Docker and Python
trallard
44
3.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Transcript
Vim の開発環境自慢 エディタ好きは語りたい LT会 - vol.2
注意
注意 Vim 以外のエディタの話はでてこない Neovim や VSCode, Emacs など
注意 Vim 以外のエディタの話はでてこない Neovim や VSCode, Emacs など レガシーな環境 サポート外のプラグインも使ってる
注意 Vim 以外のエディタの話はでてこない Neovim や VSCode, Emacs など レガシーな環境 サポート外のプラグインも使ってる
Vim についての解説・説明はない
自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ :
Secret Garden(Instrumental) Rails エンジニア
自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ :
Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい?
自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ :
Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個
自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ :
Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個 自作プラグイン数: 150個以上
自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ :
Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個 自作プラグイン数: 150個以上 GVim 使い
自己紹介 名前:osyo Twitter : @pink_bangbi github : osyo-manga ブログ :
Secret Garden(Instrumental) Rails エンジニア vimrc : 4000行ぐらい? 使用 Vim プラグイン数: 174個 自作プラグイン数: 150個以上 GVim 使い ブラウザ上で :help できるサイトをつくったり http://vim-help-jp.herokuapp.com/# ` `
エディタ歴
エディタ歴 TeraPad: 2〜3年
エディタ歴 TeraPad: 2〜3年 Visual Studio: 5〜7年
エディタ歴 TeraPad: 2〜3年 Visual Studio: 5〜7年 Emacs: 3ヶ月ぐらい
エディタ歴 TeraPad: 2〜3年 Visual Studio: 5〜7年 Emacs: 3ヶ月ぐらい Vim: 10年
← いまここ
Vim でどういう事をしている?
Vim でどういう事をしている? コードリーディング、ライティング
Vim でどういう事をしている? コードリーディング、ライティング コードの実行
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット)
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形 雑多なメモ管理
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形 雑多なメモ管理 Scrapbox へのポスト
Vim でどういう事をしている? コードリーディング、ライティング コードの実行 テストの実行 静的コードチェック リファレンスの参照 ファイル操作 ファイル/ディレクトリ生成 シェル操作
grep / find git 操作(コミット) ファイルを github のブラウザで開く markdown を使ったスライド作成 コードブロック上のコードを実行 現在のファイルの github のページを開く ブラウザ上の入力を Vim から行う github のコメントを Vim で書く テキストの一括置換 diff のようにバッファの比較 英単語の検索 SQL 文の整形 雑多なメモ管理 Scrapbox へのポスト ツイート
Vim でなんでもやってるよ!
Vimでやってない事
Vimでやってない事 シェル操作 簡単な git の操作とか
Vimでやってない事 シェル操作 簡単な git の操作とか プロセスを常駐させるようなもの rails server とか `
`
Vimでやってない事 シェル操作 簡単な git の操作とか プロセスを常駐させるようなもの rails server とか 対話的なデバッグ
binding.irb とか ` ` ` `
デモ
Vim を使い続ける理由
Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く
Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる
Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる operator / textobj が存在している
テキストを編集する機能 個人的にこれが一番大きい 他のエディタにはない特徴 ` `
Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる operator / textobj が存在している
テキストを編集する機能 個人的にこれが一番大きい 他のエディタにはない特徴 拡張性が高い・資産が大きい 制限はあるものの Vim 上でだいたい事ができる 一方で学習コストも高い ` `
Vim を使い続ける理由 基本的にマウスを使わないで操作ができる かゆいところに手が届く 余計な表記がない シンプルな画面にカスタマイズできる operator / textobj が存在している
テキストを編集する機能 個人的にこれが一番大きい 他のエディタにはない特徴 拡張性が高い・資産が大きい 制限はあるものの Vim 上でだいたい事ができる 一方で学習コストも高い 一度環境を使えばある程度の言語に対応できる 環境や言語に依存しない ` `
プラグイン紹介 プラグイン管理 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
プラグイン紹介 コメントアウト系 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
プラグイン紹介 ファイル検索系(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
プラグイン紹介 ビジュアル的にウィンドウの選択 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
プラグイン紹介 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
プラグイン紹介 (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 ` ` ` ` ` `
プラグイン紹介 (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 ` ` ` ` ` `
ご清聴 ありがとうございました