Communitygithub.com

G1Joshi/Agent-Skills

Asistencia experta en Vim que cubre edición modal, configuración de .vimrc, registros, macros, búsqueda/reemplazo y gestión de plugins mediante vim-plug. Útil para editar texto de manera eficiente en entornos terminal, escribir Vimscript, grabar macros o configurar ajustes básicos de Vim.

¿Qué es Agent-Skills?

Esta habilidad proporciona asistencia experta en Vim, el editor de texto universal presente en todo sistema UNIX. Está diseñada para desarrolladores y usuarios que trabajan en entornos de terminal, ofreciendo guías detalladas sobre edición modal, configuración de .vimrc, uso de registros, macros, búsqueda/reemplazo y gestión de plugins mediante vim-plug. Incluye ejemplos prácticos de comandos básicos, manipulación de objetos de texto y automatización de tareas repetitivas. La habilidad cubre desde conceptos fundamentales hasta mejores prácticas modernas, evitando errores comunes como la dependencia de plugins pesados o la sincronización innecesaria. Además, ofrece una tabla de solución de problemas para errores frecuentes. Compatible con cualquier sistema UNIX que tenga Vim instalado, sin necesidad de software adicional.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Vim

Vim es el editor de texto universal instalado en todos los sistemas UNIX. Mientras Neovim innova, Vim se centra en la compatibilidad hacia atrás y la estabilidad.

Cuándo Usarlo

  • Edición Universal en Servidores y Sistemas: Editar configuraciones del sistema, scripts y código en cualquier servidor Unix/Linux sin instalar software externo.
  • Manipulación de Texto Modal: Componer transformaciones de texto con la gramática operador-movimiento (dap, ci", gUiw).
  • Automatización de Macros sin Interfaz: Grabar y reproducir operaciones de edición repetitivas en cientos de líneas (qa, @a).
  • Edición de Commits y Mezclas de Git: Edición rápida e interactiva para mensajes de commit, rebases interactivos y resolución de conflictos en diferencias.

Inicio 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 Básicos de Edición

  • i / a: Modo Insertar (antes / después del cursor)
  • ci": Cambiar dentro de comillas dobles
  • da{: Borrar alrededor de llaves
  • :%s/foo/bar/g: Reemplazar todas las ocurrencias de foo por bar en el archivo
  • . : Repetir la última modificación

Conceptos Fundamentales

Vimrc de Producción Moderno (~/.vimrc)

Configuración de valores predeterminados sensatos, gestor de plugins y navegación de código:

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

" Ajustes generales
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

" Mapeo de tecla líder
let mapleader = " "

" Navegación rápida entre divisiones
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

" Limpiar resaltado de búsqueda
nnoremap <leader>h :nohlsearch<CR>

Objetos de Texto Esenciales y Gramática

Combinación de operadores (d, c, y, v) con objetos de texto y movimientos:

ci"      - Cambiar dentro de comillas dobles ("foo" -> "")
di(      - Borrar dentro de paréntesis
yap      - Yank (copiar) alrededor del párrafo
gUiw     - Convertir palabra interna a MAYÚSCULAS
dt,      - Borrar desde el cursor hasta la coma
.        - Repetir el último cambio inmediatamente

Grabación y Ejecución de Macros

Automatización de transformaciones repetitivas de datos tabulares:

1. Presiona `qa` para comenzar a grabar la macro en el registro 'a'
2. Realiza los pasos de edición de texto (ej. `0iconst <Esc>A = true;<Esc>j`)
3. Presiona `q` para finalizar la grabación
4. Reproduce la macro en la línea actual: `@a`
5. Reproduce la macro 50 veces en varias líneas: `50@a`
6. Ejecuta la macro en una selección visual: `:'<,'>normal @a`

Patrones Comunes

Grabación y Ejecución Masiva de Macros

Problema: Realizar ediciones repetitivas de varios pasos en múltiples líneas.
Solución: Grabar las pulsaciones de teclas en el registro q.

  1. Coloca el cursor en la posición inicial deseada.
  2. Presiona qq para comenzar a grabar en el registro q.
  3. Realiza la secuencia de edición (ej. I" <Esc> A",<Esc> j ^).
  4. Presiona q para detener la grabación.
  5. Reproduce con @q, o ejecuta en 50 líneas: 50@q.

Gestión de Plugins con vim-plug

Problema: Instalar y organizar plugins de Vim sin manipulación manual de rutas.
Solución: Usar vim-plug.

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

Ejecuta :PlugInstall dentro de Vim para instalarlos.

Mejores Prácticas (2026)

  • Haz dominar la navegación modal (h, j, k, l, w, b, e) y evita usar las teclas de flecha.
  • Haz aprovechar los Objetos de Texto (ciw, da(, yi{) para editar bloques de código estructurados con la mínima cantidad de pulsaciones.
  • Haz usar el comando punto (.) para repetir transformaciones de texto recientes en líneas similares.
  • Haz activar set hidden para que los búferes puedan permanecer abiertos en segundo plano sin forzar guardados inmediatos.
  • No instales cientos de plugins pesados de VimScript heredados; migra a Lua de Neovim si se requiere una experiencia IDE completa.
  • No dejes archivos de intercambio (.swp) persistentes; configura set noswapfile o establece un directorio de intercambio dedicado.
  • No uses llamadas externas sincrónicas en ~/.vimrc que causen un retraso notable en el inicio en máquinas remotas.

Solución de Problemas

Error / SíntomaCausaSolución
Fallo al copiar al portapapeles del sistema ("+y sin efecto)Vim compilado sin soporte +clipboardInstala vim-gtk3 (Ubuntu) o macvim / neovim con soporte de portapapeles habilitado.
Las teclas de flecha insertan caracteres A, B, C, DEjecutando en modo compatible con Vi estrictoAñade set nocompatible al inicio de ~/.vimrc.
El resaltado de espacios al final persiste después de buscarEl resaltado de búsqueda permaneció activoPresiona :nohlsearch o asigna <leader>h :nohlsearch<CR>.

Referencias

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

Skills relacionados