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 #36 ~ Vim x SNS ~ スポンサーセッション
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yasunori
May 31, 2025
Technology
3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
https://gorillavim.connpass.com/event/353161/
yasunori
May 31, 2025
More Decks by yasunori
See All by yasunori
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
720
Tried writing it vim9script
yasunori0418
0
55
Other Decks in Technology
See All in Technology
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
360
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
260
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
220
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
890
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
520
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
350
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
360
AIのためのEthernet技術動向 (SerDes)
markunet
1
300
AWS Blocks が楽しい #ゆるWeb札幌
tacck
PRO
0
120
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
190
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
390
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
340
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
380
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
Building the Perfect Custom Keyboard
takai
2
850
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The Limits of Empathy - UXLibs8
cassininazir
1
610
Automating Front-end Workflow
addyosmani
1369
210k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
440
Visualization
eitanlees
152
17k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Transcript
スポンサーセッション ゴリラ.vim #36 ~ Vim x SNS ~ 2025年5⽉31⽇ 株式会社ログラス
Name: yasunori GitHub: https://github.com/yasunori0418 • I loves • Vim/Neovim •
dotfiles • Linux (NixOS) About
超⼊⾨Vim
これはある⽇のビジネスサイドの⼈との会話
私(yasunori)「⾃分はVimが好きで〜」 Biz(ビジネスサイドの⼈)「そのVimってなんですか?」 私「Vimというのはテキストエディタです。 ざっくり⾔ってしまえば、⾼機能なメモ帳ですね。」 Biz「どの辺りが好きなんですか?」 私「キーボードだけで操作できて⾼速に編集できます。 NotionのMarkdownとかもVimで書いてますよ。」
Biz「⾼速でMarkdownを編集できる?!」 私「Vimはいいぞ…(ニヤ」
ここで本題
• モード編集による効率的な操作 ◦ ノーマル、挿入、ビジュアルなど多彩なモードを使い分け、 少ないキー操作で多くの処理を実行できる • キーボード中心の高速な操作 ◦ ほぼ全ての操作がキーボードで完結するため、マウスへの手の移動がなく、 思考を中断せずに作業に集中できる
• オペレータ、モーション、テキストオブジェクトによる高度な編集 ◦ これらを組み合わせることで、特定の範囲のテキストを効率的に選択・変更・削除できる • 強力な繰り返し機能 ◦ 直前の操作を「.」(ドット)で繰り返したり、 マクロで一連の操作を記録・再生したりできる そもそもVimの良さとは(Geminiに書き出させてみた、その1)
• 軽量で高速な動作 ◦ 起動が非常に速く、リソースの少ない環境や巨大なファイルでも軽快に動作する • 設定ファイル (vimrc) による自由なカスタマイズ性 ◦ キーバインド、外観、動作などを自分の好みに合わせて徹底的にカスタマイズできる
• 豊富なプラグインによる機能拡張 ◦ 多数のプラグインを利用して、コード補完、Git連携など、 自分に必要な機能を自由に追加できる • 充実した内蔵ヘルプと豊富なオンライン情報 ◦ 操作に迷った際も、内蔵ヘルプやWeb上の情報源が豊富で、自己解決しやすい そもそもVimの良さとは(Geminiに書き出させてみた、その2)
• macOS: 最初からインストールされている。できたらbrewで最新をインストールすると更に良い • Windows: vim-jpからのダウンロードしたインストーラーが⼀番良い(個⼈の感想) • Linux: 各⾃、好きなようにインストールしてください(きっとビルドしてくる⼈もいる) Vimのインストール
引用: https://https://vim-jp.org トップページより
• “vimtutor”でチュートリアルモードを起動できる • “vimtutor ja”で⽇本語のチュートリアルも起動できる • Vimの基本のキを抑えることができる ◦ マンガの主⼈公が修⾏編で鍛えるように、 基礎訓練で超絶編集能⼒を⼿に⼊れよう!!!
vimtutorをやってみよう
• とりあえず覚えておくexコマンド ◦ ":q"や":q!"で終了できる ▪ ":q": 保存済みなら終了 ▪ ":q!": 編集した内容を保存せずにエディタが終了
◦ ":e file_name": ファイルを指定して開く ◦ ":w file_name": 保存 ◦ ":wq": 保存して終了 • カーソル移動 ◦ 基本的な⼗字移動は"hjkl"の利⽤を推奨 ◦ "Ctrl-d": 下へスクロール ◦ "Ctrl-u": 上へスクロール ◦ "w": 次の単語へ先頭に移動 ◦ "e": 次の単語へ末尾に移動 ◦ "b": 前の単語へ移動 よく使いそうな操作⼀覧(その1)
• 検索は移動にもなる ◦ "/": 前⽅検索 ◦ "?": 後⽅検索 ◦ "*":
カーソル下の単語を対象に前⽅検索 ◦ "#": カーソル下の単語を対象に後⽅検索 ◦ "n": 次の検索結果へ移動 ◦ "N": 前の検索結果へ移動 • 元に戻す/やり直す ◦ "u": 元に戻す ◦ "Ctrl-r": 1つ前で元に戻した変更をやり直す • 最初は範囲選択しながら ◦ "v": 現在のカーソル位置から⽂字単位選択できるVisualModeに⼊る ◦ "V": 現在のカーソル位置から⾏単位選択できるVisualModeに⼊る ◦ "Ctrl-v": 現在のカーソル位置から矩形選択できるVisualModeに⼊る よく使いそうな操作⼀覧(その2)
• オペレーターって⾔われてもよく分からないよね。とりあえず、前項の範囲選択しながら ◦ "d": 選択範囲を削除 ◦ "c": 選択範囲を削除し、InsertModeに移動 ◦ "y":
選択範囲をコピー ◦ ".": 直前の操作を繰り返す • InsertModeでは⽂字列の⼊⼒のみ ◦ "a": 現在のカーソルの後にInsertModeへ⼊る ◦ "A": 現在のカーソル⾏の⾏末に移動してから、InsertModeへ⼊る ◦ "i": 現在のカーソルの前にInsertModeへ⼊る ◦ "I": 現在のカーソル⾏の⾏頭に移動してから、InsertModeへ⼊る ◦ "o": 現在のカーソル⾏の下に改⾏してからInsertModeへ⼊る ◦ "O": 現在のカーソル⾏の上に改⾏してからInsertModeへ⼊る よく使いそうな操作⼀覧(その3)
すべての基本はNormalMode 困ったら"Esc"を連打して NormalModeに戻ろう!! 引用: https://knowledge.sakura.ad.jp/21687/ モードの切り替えより
VimmerらしくテキストをエディットするTips 引用: https://github.com/yasunori0418/gorilla-vim-36 WorkShop用リポジトリ
vimmerらしくテキストをエディットするTips 1. A(Shift-a)で⾏末に”,”を⼊⼒ 2. EscでNormalModeへ 3. 下の⾏に移動(j) 4. ドットリピート(.) 5.
下の⾏に移動(以降、繰り返し) ⾏末への⼊⼒とドットリピート
vimmerらしくテキストをエディットするTips 1. ⾏頭に移動(0) 2. Ctrl-vで矩形選択モードへ 3. 任意の縦⼀列分のみ範囲を選択 4. I(Shift-i)でInsertModeへ 5.
“- “を⼊⼒しEscでNormalModeに戻る 矩形選択と選択範囲への⼀括⼊⼒
vimmerらしくテキストをエディットするTips 1. 配列内にカーソルを移動 2. ”vi[“で配列内を範囲選択 3. ”:sort”と⼊⼒し実⾏し実⾏ ◦ :入力の後に記号('<,'>)が入るが気にしない 選択範囲に対するexコマンド実⾏によるソート
vimmerらしくテキストをエディットするTips 1. 任意の段落にカーソルを移動 2. “vip”で段落を選択 3. 任意の操作として[”d: 削除”, “c: 変更”,
“y: コピー”] 4. レジスタに⼊っているので、”p”で貼り付けたり、 いろいろな操作を繋げていこう!! 空⾏で区切られた段落(paragraph)を範囲選択し、任意の操作をする
まとめ
まとめ • テキストを編集を中⼼に据えたエディタです。 ‐ 他のエディタはテキスト⼊⼒が中⼼になっている ‐ Vimはテキスト編集(エディット)の基準として、 NormalModeが中⼼に存在している ‐ テキスト編集のために必要な機能が各モードで管理されている
‐ つまり、テキストをエディットしていると⾔えます。 • い、いや、エディットって編集と翻訳できるので…ね? つまり、Vimとは
まとめ • そもそもショートカットキーとコマンドが多すぎて、学習コストが⾼い ‐ たぶん、「Vimはちょっと…」と⾔われる原因 • ⽇本語IMEとの相性が悪い ‐ NormalModeで⽇本語⼊⼒状態になるとカーソル移動などができない ‐
“skkeleton”なるIMEプラグインを使えば解決できる • 強くお勧めできないが興味がある⽅は、どうぞこちらへ…… • カスタム⽅法も覚えてくると無限に時間を使ってしまう ‐ 設定(プログラム)を書くことになるので、無限の可能性が広がっている ‐ 設定の延⻑線がプラグイン ‐ 設定させていただきありがとうございます!! Vimの⽋点
終わりじゃないぞよ もうちっとだけ続くんじゃ
株式会社ログラスについて
None
None
None
None
None