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
34
Other Decks in Programming
See All in Programming
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
860
Six and a half ridiculous things to do with Quarkus
hollycummins
0
170
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
270
CSC509 Lecture 06
javiergs
PRO
0
260
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
150
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.7k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
6.7k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
4.1k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
340
Featured
See All Featured
KATA
mclloyd
32
15k
Code Reviewing Like a Champion
maltzj
526
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Music & Morning Musume
bryan
46
6.8k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Docker and Python
trallard
46
3.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Language of Interfaces
destraynor
162
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Fireside Chat
paigeccino
40
3.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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