Communitygithub.com

G1Joshi/Agent-Skills

エキスパートVimアシスタンス:モーダル編集、.vimrc設定、レジスタ、マクロ、検索/置換、vim-plugによるプラグイン管理をカバーします。ターミナル環境での効率的なテキスト編集、Vimスクリプトの作成、マクロの記録、コアVim設定の構成時に使用します。

Agent-Skills とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)がVimエディタに関する深い専門知識を提供できるようにします。対象範囲は、UNIXサーバー上での普遍的なテキスト編集、モーダル操作(dap、ci"、gUiw)、マクロの記録とバッチ実行、.vimrcの設定、vim-plugを用いたプラグイン管理、さらにトラブルシューティングまで多岐にわたります。開発者がターミナル環境で高速にコードや設定ファイルを編集する際、Vimの文法(オペレータ+モーション+テキストオブジェクト)を活用した効率的な編集パターンを提案します。また、Neovimではなく伝統的なVimの安定性と互換性に重点を置いており、サーバー管理やリモート環境での使用に最適化されています。ベストプラクティスやよくあるエラーの解決策もまとめられており、初心者から上級者まで実践的な支援を提供します。

対応~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/G1Joshi/Agent-Skills/tree/HEAD/skills/tools/vim

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Vim

Vimは、すべてのUNIXシステムにインストールされているユニバーサルテキストエディタです。Neovimが革新を続ける一方で、Vimは後方互換性と安定性に重点を置いています。

使用すべき場面

  • ユニバーサルサーバー & システム編集: 外部ソフトウェアをインストールすることなく、あらゆるUnix/Linuxサーバー上でシステム設定、スクリプト、コードを編集できます。
  • モーダルテキスト操作: オペレータ-モーションの文法(dap、ci"、gUiw)を使用したテキスト変換を構成します。
  • ヘッドレスマクロ自動化: 数百行にわたる反復的な編集操作を記録し、再生します(qa、@a)。
  • Gitコミット & マージ編集: コミットメッセージ、インタラクティブリベース、差分コンフリクト解決のための高速インタラクティブ編集です。

クイックスタート

1. 最小限の ~/.vimrc

syntax on
set number
set relativenumber
set tabstop=2
set shiftwidth=2
set expandtab
set hlsearch
set incsearch
set clipboard=unnamed

let mapleader = " "
nnoremap <leader>w :w<CR>
nnoremap <leader>q :q<CR>

2. コア編集コマンド

  • i / a: 挿入モード(カーソルの前 / 後)
  • ci": 引用符内を変更
  • da{: 中括弧周辺を削除
  • :%s/foo/bar/g: ファイル内のすべてのfooをbarに置換
  • . : 最後の変更を繰り返す

コアコンセプト

モダンなプロダクションVimrc(~/.vimrc)

適切なデフォルト、プラグインマネージャー、コードナビゲーションの設定:

" ~/.vimrc
set nocompatible
filetype plugin indent on
syntax on

" 一般設定
set number
set relativenumber
set expandtab
set shiftwidth = 2
set tabstop = 2
set autoindent
set smartindent
set hlsearch
set incsearch
set ignorecase
set smartcase
set hidden
set backspace=indent,eol,start
set updatetime=300
set clipboard=unnamed

" リーダーキーマッピング
let mapleader = " "

" 高速分割ナビゲーション
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

" 検索ハイライトクリア
nnoremap <leader>h :nohlsearch<CR>

必須テキストオブジェクト & 文法

オペレータ(d、c、y、v)とテキストオブジェクトやモーションの組み合わせ:

ci"      - ダブルクォーテーション内を変更 ("foo" -> "")
di(      - 括弧内を削除
yap      - 段落周辺をヤンク(コピー)
gUiw     - 内側の単語を大文字に変換
dt,      - カーソル位置からカンマまで削除
.        - 最後の変更をすぐに繰り返す

マクロの記録と実行

反復的な表形式データ変換の自動化:

1. `qa` を押して、レジスタ 'a' へのマクロ記録を開始
2. テキスト編集手順を実行(例:`0iconst <Esc>A = true;<Esc>j`)
3. `q` を押して記録を終了
4. 現在の行でマクロを再生: `@a`
5. 50行にわたってマクロを再生: `50@a`
6. ビジュアル選択範囲でマクロを実行: `:'<,'>normal @a`

一般的なパターン

マクロ記録と一括実行

問題: 複数行にわたって反復的なマルチステップ編集を実行する。 解決策: キーストロークをレジスタ q に記録します。

  1. カーソルをターゲットの開始位置に置きます。
  2. qq を押して、レジスタ q への記録を開始します。
  3. 編集シーケンスを実行します(例:I" <Esc> A",<Esc> j ^)。
  4. q を押して記録を停止します。
  5. @q で再生するか、50行にわたって実行するには 50@q を使用します。

vim-plugによるプラグイン管理

問題: 手動でパスを操作せずにVimプラグインをインストールして整理する。 解決策: vim-plug を使用します。

call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-fugitive'
Plug 'preservim/nerdtree'
call plug#end()

Vim内で :PlugInstall を実行してインストールします。

ベストプラクティス(2026)

  • 推奨: モーダルナビゲーション(h、j、k、l、w、b、e)をマスターし、矢印キーに手を伸ばさないようにします。
  • 推奨: テキストオブジェクト(ciw、da(、yi{)を活用して、最小限のキーストロークで構造化コードブロックを編集します。
  • 推奨: ドットコマンド(.)を使用して、同様の行にわたって最近のテキスト変換を繰り返します。
  • 推奨: set hidden を有効にして、即座に保存を強制せずにバッファをバックグラウンドで開いたままにできるようにします。
  • 非推奨: 何百もの重いレガシーVimScriptプラグインをインストールしないでください。リッチなIDEエクスペリエンスが必要な場合は、Neovim Luaに移行してください。
  • 非推奨: スワップファイル(.swp)を残したままにしないでください。set noswapfile を設定するか、専用のスワップディレクトリを設定してください。
  • 非推奨: リモートマシンで顕著な起動遅延を引き起こす同期外部呼び出しを ~/.vimrc で使用しないでください。

トラブルシューティング

エラー / 症状原因解決策
システムクリップボードへのコピー失敗("+y が無効)Vimが +clipboard サポートなしでコンパイルされたvim-gtk3(Ubuntu)または macvim / neovim をクリップボードサポート有効でインストールします。
矢印キーで A、B、C、D が挿入される厳密なVi互換モードで実行されている~/.vimrc の先頭に set nocompatible を追加します。
検索後の末尾空白のハイライトが残る検索ハイライトがアクティブのまま:nohlsearch を押すか、<leader>h :nohlsearch<CR> をバインドします。

参考資料

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

G1Joshi/Agent-Skills

Expert Dask distributed computing assistance covering Dask DataFrames, Arrays, Futures, and cluster scaling. Use when analyzing datasets too large for pandas on a single machine or multi-node cluster.

G1Joshi/Agent-Skills

Expert dbt (data build tool) assistance covering SQL modeling, Jinja macros, tests, documentation, and semantic layer. Use when building analytics engineering pipelines on BigQuery, Snowflake, or PostgreSQL.

G1Joshi/Agent-Skills

Expert JAX assistance covering Autograd, XLA compilation (`jit`), vectorization (`vmap`), and parallelization (`pmap`). Use when building high-performance numerical computing and cutting-edge deep learning research.

G1Joshi/Agent-Skills

Expert Ray distributed computing assistance covering Ray Core (actors, tasks), Ray Train, Ray Tune, and Ray Serve. Use when scaling Python compute and ML training across multi-node clusters.

G1Joshi/Agent-Skills

Expert Git version control assistance covering branching, interactive rebase, cherry-pick, submodules, worktrees, and conflict resolution. Use when managing source code history and collaboration workflows.

G1Joshi/Agent-Skills

Expert K9s CLI assistance covering terminal Kubernetes cluster navigation, real-time log streaming, port forwarding, and pod debugging. Use when managing and troubleshooting Kubernetes clusters with speed.

G1Joshi/Agent-Skills

Expert SWC assistance covering high-performance Rust-based JavaScript/TypeScript compilation, .swcrc configuration, Jest testing via @swc/jest, and minification. Use when replacing Babel with SWC for faster builds, accelerating test execution, or compiling modern ECMAScript features.

G1Joshi/Agent-Skills

Expert Tig assistance covering text-mode interface for Git, interactive staging, commit graph visualization, diff exploration, and blame navigation. Use when navigating Git commit history in the terminal, staging hunks interactively, browsing file changes, or reviewing revisions.

G1Joshi/Agent-Skills

Expert Zed editor assistance covering high-performance Rust-based text editing, multi-buffer editing, language server protocols (LSP), and AI assistant integrations. Use when configuring Zed settings.json, setting up language extensions, collaborating in real-time channels, or optimizing editor startup speed.

G1Joshi/Agent-Skills

Expert Zsh assistance covering shell customization, Oh My Zsh plugins, Zinit plugin manager, prompt engineering (Starship/Powerlevel10k), and shell scripting. Use when configuring .zshrc, writing Zsh automation scripts, optimizing shell startup time, or configuring tab-completion.

G1Joshi/Agent-Skills

Expert [skill-name] assistance covering [feature 1], [feature 2], and [feature 3]. Use when [working with X], [debugging Y], or [implementing Z].

関連スキル