Custom Keybindings Extension
Overview
This VS Code extension introduces a vim-inspired mode-based keymap system with three distinct modes:
Normal Mode
Basic mode for text editing and navigation
- Efficient cursor movement with vim-like shortcuts
- Quick text manipulation (copy, paste, delete)
- Multiple selection support (multi-cursor)
- Special navigation features (jump to symbols, boundaries)
- Text selection with Shift + movement keys
- Line operations (copy, indent, insert)
Insert Mode
Optimized for text input with intelligent features
- Smart symbol insertion (brackets, quotes, operators)
- Minimal movement commands to stay focused on typing
- Quick mode switching while maintaining cursor position
- Intelligent spacing and formatting
- Special number input modes (Shift + number keys)
- Symbol shortcuts for common programming characters
Navigation Mode
Dedicated to UI interaction and window management
- Quick access to VS Code views (Explorer, Git, Terminal)
- Efficient editor group management (split, focus, move)
- File navigation and window organization
- Editor tabs management (1-4 number keys)
- Workspace view customization
- History navigation (forward/backward)
Mode Switching
From → To |
Keybinding |
Normal → Insert |
Alt Alt |
Normal → Navigation |
m |
Insert → Normal |
Alt Alt or Alt + i |
Navigation → Normal |
m , Alt + m , or Alt Alt |
Keymap Matrix
Normal Mode Operations
Cursor Movement
Key |
Action |
Variation |
a , h |
Move Left |
Alt : Move to boundary |
d , l |
Move Right |
Alt : Move to boundary |
w , k |
Move Up |
Alt : Move 3 lines up |
s , j |
Move Down |
Alt : Move 3 lines down |
e |
Half Page Down |
- |
q |
Half Page Up |
- |
g |
Go to Line |
- |
Special Navigation
Key |
Action |
1 |
Move to Special Characters Left |
2 |
Move to Special Characters Right |
3 |
Move to Code End |
Alt + 1 |
Move to Start |
Alt + 2 |
Move to End |
Jumping
Key |
Action |
Variation |
7 |
Jump Forward |
Alt : Jump Backward (Quote) |
8 |
Jump Forward |
Alt : Jump Backward (Left Bracket) |
9 |
Jump Forward |
Alt : Jump Backward (Right Bracket) |
, |
Jump Forward |
Alt : Jump Backward (Comma) |
Text Selection
Key |
Action |
Variation |
Shift + a/h |
Select Left |
Alt : Select to boundary |
Shift + d/l |
Select Right |
Alt : Select to boundary |
Shift + w/k |
Select Up |
- |
Shift + s/j |
Select Down |
- |
u |
Add Selection (Multi-cursor) |
- |
Editing Operations
Key |
Action |
Variation |
b |
Delete Left |
Alt : Delete to boundary |
x |
Delete Right |
Alt : Delete to boundary |
c |
Copy |
- |
v |
Paste |
- |
+ |
Copy Lines Down |
- |
- |
Copy Lines Up |
- |
] |
Indent |
- |
[ |
Outdent |
- |
Line Operations
Key |
Action |
Variation |
o , r |
Insert Line After |
Alt : Insert Before |
Ctrl + Enter |
Insert Line After |
Ctrl + Shift : Insert Before |
Space |
Trigger Suggestion |
- |
Enter |
Execute Command |
- |
Insert Mode Operations
Text Editing
Key |
Action |
Backspace |
Delete Left |
Delete |
Delete Right |
Alt + b |
Delete Left (by word) |
Alt + x |
Delete Right (by word) |
Ctrl + z |
Undo |
Ctrl + y |
Redo |
Intelligent Symbols
Key |
Action |
Alt + o , - |
Insert Equal (Intelligent) |
: |
Insert Colon (Intelligent) |
; |
Insert Semicolon (Intelligent) |
, |
Insert Comma (Intelligent) |
\ |
Insert Underscore |
Shift + \ |
Insert Backslash |
Shift + 0-9 |
Insert Number |
1-9 |
Insert Special Symbol (!,"#$%&'()) |
Navigation Mode Operations
Editor Navigation
Key |
Action |
Variation |
a , h |
Focus Left Group |
Alt : Move Editor Left |
d , l |
Focus Right Group |
Alt : Move Editor Right |
j |
Next Editor |
- |
k |
Previous Editor |
- |
\ |
Split Editor |
- |
w |
Close Editor |
Alt : Close Group |
t |
Reopen Closed Editor |
- |
View Management
Key |
Action |
e |
View Explorer |
x |
View Extensions |
g |
View Git |
f |
View Search |
` |
View Terminal |
b |
Toggle Sidebar |
q |
Toggle Size |
Editor Groups
Key |
Action |
1 |
Focus First Group |
2 |
Focus Second Group |
3 |
Focus Third Group |
4 |
Focus Fourth Group |
Configuration
The following settings can be customized in your settings.json:
{
"nonameKeymap.insertMode.enableIntelligentSymbols": true, // Enable/disable intelligent symbol insertion
}
カスタムキーバインド拡張機能
概要
この VS Code 拡張機能は、Vim にインスパイアされたモードベースのキーマップシステムを提供します。以下の3つのモードがあります:
ノーマルモード
テキスト編集とナビゲーションの基本モード
- Vimライクなショートカットによる効率的なカーソル移動
- 素早いテキスト操作(コピー、ペースト、削除)
- マルチ選択のサポート(マルチカーソル)
- 特殊なナビゲーション機能(シンボルやバウンダリーへのジャンプ)
- Shiftキーと移動キーの組み合わせによるテキスト選択
- 行操作(コピー、インデント、挿入)
インサートモード
インテリジェントな機能を備えたテキスト入力に最適化されたモード
- スマートなシンボル挿入(括弧、引用符、演算子)
- タイピングに集中できる最小限の移動コマンド
- カーソル位置を維持したまま素早いモード切り替え
- インテリジェントなスペース配置とフォーマット
- 特殊な数字入力モード(Shift + 数字キー)
- プログラミングでよく使う記号のショートカット
ナビゲーションモード
UI操作とウィンドウ管理に特化したモード
- VS Codeのビューへの素早いアクセス(エクスプローラー、Git、ターミナル)
- 効率的なエディタグループ管理(分割、フォーカス、移動)
- ファイルナビゲーションとウィンドウ整理
- エディタタブの管理(1-4の数字キー)
- ワークスペースビューのカスタマイズ
- 履歴ナビゲーション(前後移動)
モード切り替え
切り替え |
キーバインド |
ノーマル → インサート |
Alt Alt |
ノーマル → ナビゲーション |
m |
インサート → ノーマル |
Alt Alt または Alt + i |
ナビゲーション → ノーマル |
m , Alt + m , または Alt Alt |
キーマップ一覧
ノーマルモード操作
カーソル移動
キー |
アクション |
バリエーション |
a , h |
左へ移動 |
Alt : 境界まで移動 |
d , l |
右へ移動 |
Alt : 境界まで移動 |
w , k |
上へ移動 |
Alt : 3行上へ移動 |
s , j |
下へ移動 |
Alt : 3行下へ移動 |
e |
半ページ下へ |
- |
q |
半ページ上へ |
- |
g |
指定行へ移動 |
- |
特殊ナビゲーション
キー |
アクション |
1 |
左の特殊文字へ移動 |
2 |
右の特殊文字へ移動 |
3 |
コード末尾へ移動 |
Alt + 1 |
行頭へ移動 |
Alt + 2 |
行末へ移動 |
ジャンプ
キー |
アクション |
バリエーション |
7 |
前方ジャンプ |
Alt : 後方ジャンプ(引用符) |
8 |
前方ジャンプ |
Alt : 後方ジャンプ(左括弧) |
9 |
前方ジャンプ |
Alt : 後方ジャンプ(右括弧) |
, |
前方ジャンプ |
Alt : 後方ジャンプ(カンマ) |
テキスト選択
キー |
アクション |
バリエーション |
Shift + a/h |
左を選択 |
Alt : 境界まで選択 |
Shift + d/l |
右を選択 |
Alt : 境界まで選択 |
Shift + w/k |
上を選択 |
- |
Shift + s/j |
下を選択 |
- |
u |
選択を追加(マルチカーソル) |
- |
編集操作
キー |
アクション |
バリエーション |
b |
左削除 |
Alt : 境界まで削除 |
x |
右削除 |
Alt : 境界まで削除 |
c |
コピー |
- |
v |
ペースト |
- |
+ |
行を下にコピー |
- |
- |
行を上にコピー |
- |
] |
インデント |
- |
[ |
アウトデント |
- |
行操作
キー |
アクション |
バリエーション |
o , r |
下に行を挿入 |
Alt : 上に挿入 |
Ctrl + Enter |
下に行を挿入 |
Ctrl + Shift : 上に挿入 |
Space |
候補を表示 |
- |
Enter |
コマンドを実行 |
- |
インサートモード操作
テキスト編集
キー |
アクション |
Backspace |
左削除 |
Delete |
右削除 |
Alt + b |
左削除(単語単位) |
Alt + x |
右削除(単語単位) |
Ctrl + z |
元に戻す |
Ctrl + y |
やり直し |
インテリジェントシンボル
キー |
アクション |
Alt + o , - |
イコール挿入(インテリジェント) |
: |
コロン挿入(インテリジェント) |
; |
セミコロン挿入(インテリジェント) |
, |
カンマ挿入(インテリジェント) |
\ |
アンダースコア挿入 |
Shift + \ |
バックスラッシュ挿入 |
Shift + 0-9 |
数字挿入 |
1-9 |
特殊記号挿入 (!,"#$%&'()) |
ナビゲーションモード操作
エディタナビゲーション
キー |
アクション |
バリエーション |
a , h |
左グループにフォーカス |
Alt : エディタを左に移動 |
d , l |
右グループにフォーカス |
Alt : エディタを右に移動 |
j |
次のエディタ |
- |
k |
前のエディタ |
- |
\ |
エディタを分割 |
- |
w |
エディタを閉じる |
Alt : グループを閉じる |
t |
閉じたエディタを再度開く |
- |
ビュー管理
キー |
アクション |
e |
エクスプローラーを表示 |
x |
拡張機能を表示 |
g |
Gitを表示 |
f |
検索を表示 |
` |
ターミナルを表示 |
b |
サイドバーの切り替え |
q |
サイズの切り替え |
エディタグループ
キー |
アクション |
1 |
1番目のグループにフォーカス |
2 |
2番目のグループにフォーカス |
3 |
3番目のグループにフォーカス |
4 |
4番目のグループにフォーカス |
設定
以下の設定をsettings.jsonでカスタマイズできます:
{
"nonameKeymap.insertMode.enableIntelligentSymbols": true, // インテリジェントなシンボル挿入の有効/無効
}
| |