Communitygithub.com

G1Joshi/Agent-Skills

Assistência especializada em Vim cobrindo edição modal, configuração .vimrc, registradores, macros, busca/substituição e gerenciamento de plugins via vim-plug. Use ao editar texto de forma eficiente em terminais, escrever Vimscript, gravar macros ou configurar configurações principais do Vim.

O que é Agent-Skills?

Esta skill oferece suporte completo ao editor de texto Vim, abrangendo desde conceitos fundamentais, como navegação modal e objetos de texto, até técnicas avançadas, como gravação e execução de macros. Ela também cobre a configuração moderna do ~/.vimrc, incluindo mapeamentos de teclas, busca incremental e realce de sintaxe, além de gerenciamento de plugins usando o popular vim-plug. A skill é útil tanto para administradores de sistemas que editam arquivos de configuração em servidores remotos quanto para desenvolvedores que desejam maximizar a produtividade na edição de código. Inclui padrões comuns, como automação de edições repetitivas com macros e ajuste de configurações para evitar problemas de compatibilidade. Com exemplos práticos e boas práticas atualizadas para 2026, esta skill ajuda a dominar o Vim como um verdadeiro editor universal.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Vim

Vim é o editor de texto universal instalado em todo sistema UNIX. Enquanto o Neovim inova, o Vim foca em compatibilidade reversa e estabilidade.

Quando Usar

  • Edição Universal em Servidores & Sistemas: Editar configurações do sistema, scripts e código em qualquer servidor Unix/Linux sem instalar software externo.
  • Manipulação de Texto Modal: Compor transformações de texto com a gramática operador-movimento (dap, ci", gUiw).
  • Automação de Macros sem Interface Gráfica: Gravar e reproduzir operações de edição repetitivas em centenas de linhas (qa, @a).
  • Edição de Commits & Mesclagens do Git: Edição interativa rápida para mensagens de commit, rebases interativos e resolução de conflitos de diff.

Início Rápido

1. ~/.vimrc Mínimo

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. Comandos de Edição Essenciais

  • i / a: Modo Inserir (antes / depois do cursor)
  • ci": Alterar dentro de aspas duplas
  • da{: Excluir ao redor de chaves
  • :%s/foo/bar/g: Substituir todas as ocorrências de foo por bar no arquivo
  • . : Repetir última modificação

Conceitos Principais

Vimrc Moderno para Produção (~/.vimrc)

Configurando padrões sensatos, gerenciador de plugins e navegação de código:

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

" Configurações gerais
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

" Mapeamento da tecla líder
let mapleader = " "

" Navegação rápida entre janelas
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

" Limpar realce de busca
nnoremap <leader>h :nohlsearch<CR>

Texto Essencial: Objetos & Gramática

Combinando operadores (d, c, y, v) com objetos de texto e movimentos:

ci"      - Alterar dentro de aspas duplas ("foo" -> "")
di(      - Excluir dentro de parênteses
yap      - Copiar (yamk) ao redor do parágrafo
gUiw     - Converter palavra interna para MAIÚSCULAS
dt,      - Excluir do cursor até a vírgula
.        - Repetir imediatamente a última alteração

Gravação e Execução de Macros

Automatizando transformações repetitivas de dados tabulares:

1. Pressione `qa` para começar a gravar macro no registrador 'a'
2. Execute os passos de edição (ex.: `0iconst <Esc>A = true;<Esc>j`)
3. Pressione `q` para finalizar a gravação
4. Reproduza a macro na linha atual: `@a`
5. Reproduza a macro 50 vezes em linhas: `50@a`
6. Execute a macro na seleção visual: `:'<,'>normal @a`

Padrões Comuns

Gravação de Macros e Execução em Massa

Problema: Realizar edições repetitivas de múltiplos passos em várias linhas.
Solução: Gravar as teclas no registrador q.

  1. Posicione o cursor no ponto de início alvo.
  2. Pressione qq para começar a gravar no registrador q.
  3. Execute a sequência de edição (ex.: I" <Esc> A",<Esc> j ^).
  4. Pressione q para parar a gravação.
  5. Reproduza com @q, ou execute em 50 linhas: 50@q.

Gerenciamento de Plugins com vim-plug

Problema: Instalar e organizar plugins do Vim sem manipulação manual de caminhos.
Solução: Usar vim-plug.

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

Execute :PlugInstall dentro do Vim para instalar.

Melhores Práticas (2026)

  • Faça: Domine a navegação modal (h, j, k, l, w, b, e) e evite usar as teclas de seta.
  • Faça: Utilize Objetos de Texto (ciw, da(, yi{) para editar blocos de código estruturados com o mínimo de teclas.
  • Faça: Use o comando ponto (.) para repetir transformações de texto recentes em linhas semelhantes.
  • Faça: Ative set hidden para que buffers possam permanecer abertos em segundo plano sem forçar salvamentos imediatos.
  • Não faça: Instale centenas de plugins VimScript legados pesados; migre para Lua do Neovim se uma experiência IDE rica for necessária.
  • Não faça: Deixe arquivos de troca (.swp) pendentes; configure set noswapfile ou defina um diretório de troca dedicado.
  • Não faça: Use chamadas externas síncronas no ~/.vimrc que causem atraso perceptível na inicialização em máquinas remotas.

Solução de Problemas

Erro / SintomaCausaSolução
Cópia para a área de transferência do sistema falha ("+y não faz nada)Vim compilado sem suporte +clipboardInstale vim-gtk3 (Ubuntu) ou macvim / neovim com suporte a área de transferência ativado.
Teclas de seta inserem caracteres A, B, C, DExecutando em modo compatível estrito com ViAdicione set nocompatible no topo do ~/.vimrc.
Realce de espaços em branco finais persiste após buscaRealce de busca permaneceu ativoPressione :nohlsearch ou associe <leader>h :nohlsearch<CR>.

Referências

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].

Habilidades Relacionadas