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
VSVimの間合いですよ
Search
anozon
November 22, 2021
Programming
0
100
VSVimの間合いですよ
VSCode Vim の縦移動を強化する VSCode 拡張を開発した話
anozon
November 22, 2021
Tweet
Share
More Decks by anozon
See All by anozon
PWAを活用している_ガジェットアプリの話.pdf
anozon
0
21
埼玉県の描き方.pdf
anozon
0
33
Other Decks in Programming
See All in Programming
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
490
Is Xcode slowly dying out in 2025?
uetyo
1
260
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
670
VS Code Update for GitHub Copilot
74th
2
630
Hack Claude Code with Claude Code
choplin
3
1.3k
XP, Testing and ninja testing
m_seki
3
240
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
110
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
760
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
350
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
160
PipeCDのプラグイン化で目指すところ
warashi
1
270
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Facilitating Awesome Meetings
lara
54
6.4k
Raft: Consensus for Rubyists
vanstee
140
7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
52k
It's Worth the Effort
3n
185
28k
Rails Girls Zürich Keynote
gr2m
95
14k
Site-Speed That Sticks
csswizardry
10
680
The Language of Interfaces
destraynor
158
25k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Building Adaptive Systems
keathley
43
2.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Transcript
VSVimの間合いですよ vscode-maai-cursor あのぞん (@anozon,(/elzup))
About me あのぞん (@anozon) elzup · GitHub 株式会社プランクユニッツ PlanckUnits VSCode(5年)
Vim(8年) React,TypeScript .vimrc 1300行
今回の話 VSCode 拡張開発に入門して コーディングを快適にした VSVimの間合いですよ • Vim の間合いはすごい ◦ 5Jump
Keymap の提唱 • VSCode 拡張作ってみた! ◦ 5Jump Keymap の強化
Vim の間合いはすごい
Vim とは Vim の間合いはすごい • Vimとは ◦ テキストエディタ ◦ モードを切り替えながらテキストを編集する
◦ ↑↓←→ が jklm • VSCode の Vim 拡張もある ◦ VSCodeVim ◦ vscode-neovim
Vim は高速で任意の場所へ移動できる 水平移動 Vim の間合いはすごい
垂直移動 Vim の間合いはすごい
弱点はどこでしょう? Vim の間合いはすごい
Vimの弱点はここです Vim の間合いはすごい
前後5行目あたりへ高速移動したい → 5Jump keybind を提唱します Vim の間合いはすごい 5Jump keybind とは
“5行上へ移動をショートカットキーに登録すること” nnoremap <C-j> 5j nnoremap <C-k> 5k vnoremap <C-j> 5j vnoremap <C-k> 5k
5Jump keybind により 前後7行へ3ストローク以下で移動できる Vim の間合いはすごい -7 `<C-k>` kk -6
`<C-k>` k -5 `<C-k>` -4 `<C-k>` j -3 kkk -2 kk -1 k 0 `<curren>` +1 j +2 jj +3 jjj +4 `<C-j>` k +5 `<C-j>` +6 `<C-j>` j +7 `<C-j>` jj
5Jump keybind の問題点 Vim の間合いはすごい どこに移動するかが大まかにしかわからない - 行数は数えたくない - 飛んでから考えたくない
→ 目印が欲しい
VSCode 拡張作ってみた!
成果物 GitHub elzup/vscode-maai-cursor MarketPlace anozon.maai-cursor VSCode 拡張作ってみた!
None
簡単な作成の流れ VSCode 拡張作ってみた! 1. npx yo code (with-typescript) 2. コーディング
3. npx vsce package 4. (マーケットプレイスアカウント作成) 5. npx vsce publish
初めて触った学び VSCode 拡張作ってみた! • package.json で Config を定義する ◦ マーケットプレイスMETA情報だけでなく
◦ 定義する Config Param や Command ◦ 使う activationEvents のタイプなど • Range ◦ x,y は line, charactor • yo code で全部定義されてて快適 ◦ debug, publish
このプラグインにおける要点 VSCode 拡張作ってみた! vscode.window.onDidChangeTextEditorSelection でカーソル移動イベントを取る activeEditor.selection.anchor でカーソル位置を取る → Decorator 当てたい位置を計算して装飾
50行程度の簡単なロジック
開発で参考にした部分 VSCode 拡張作ってみた! 同じ Decorator タイプの普段お世話になってる plugin • Indent Rainbow
• Bracket Colorlizer microsoft/vscode-extension-samplesに サンプルパターンが豊富 • Decorator 2桁の数字と3桁以上の数字の Style を変える (わかりやすい)
オプションの追加 VSCode 拡張作ってみた! • その行の文字全部にハイライトするモード • 5行区切りで全部ハイライトするモード • 5行以外の指定
躓いた点 VSCode 拡張作ってみた! - package.json の "activationEvents" のイベン トの設定が必要 -
マーケットプレイス・デプロイ権限設定
(初心者の)疑問点 VSCode 拡張作ってみた! elzup/vscode-maai-cursor/issues
感想・まとめ VSCode 拡張作ってみた! • Electron の開発に入門したときに感覚似てた • Type が効いて良い (import
"vscode") • `yo code` で Release まで楽だった • アドバイス改善点レビュー嬉しいです ◦ github.com/elzup/vscode-maai-cursor