Ai Pane.Nvim banner
dansomething dansomething

Ai Pane.Nvim

AI community

Description

A Neovim plugin for seamless integration with AI CLIs (Claude, Copilot, OpenCode, etc.) using tmux.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

ai-pane.nvim

A Neovim plugin for a lightweight integration with AI CLIs (Claude, Copilot, etc.) using tmux. Send files, buffers, and visual selections to your AI assistant without leaving your editor.

Features

  • Smart Pane Management: Automatically finds existing AI CLI panes or creates new ones
  • Multiple Send Modes: Send file references, buffer contents, or visual selections
  • Predefined Prompts: Built-in prompts for common tasks (Commit, Explain, Review, Tests, Fix, Optimize, Docs, Refactor)
  • Customizable: Configure AI commands, keymaps, and add your own prompts
  • Tmux Integration: Uses tmux to manage your AI CLI in a separate pane

Requirements

  • Neovim >= 0.7.0
  • tmux
  • An AI CLI tool installed and configured (e.g., Claude CLI, Copilot CLI, etc.)

Installation

Using [lazy.nvim](https://github.com/folke/lazy.nvim)

{
  'yourusername/ai-pane.nvim',
  config = function()
    require('ai-pane').setup()
  end
}

Using [packer.nvim](https://github.com/wbthomason/packer.nvim)

use {
  'yourusername/ai-pane.nvim',
  config = function()
    require('ai-pane').setup()
  end
}

Using [vim-plug](https://github.com/junegunn/vim-plug)

Plug 'yourusername/ai-pane.nvim'

" In your init.vim or init.lua
lua << EOF
require('ai-pane').setup()
EOF

Configuration

The plugin works out of the box with sensible defaults. Here's the default configuration:

require('ai-pane').setup({
  -- Command to start your AI CLI (default: "copilot")
  command = "copilot",

  -- Whether to create default keymaps (default: true)
  create_keymaps = true,

  -- Whether to restrict AI pane search to the current tmux window only (default: false)
  -- When false, searches all panes across all tmux windows
  current_window_only = false,

  -- Predefined prompts (can be extended or modified)
  prompts = {
    Commit = {
      prompt = "Write commit message for the change wi