Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/chrisgrieser/nvim-various-textobjs/llms.txt

Use this file to discover all available pages before exploring further.

This page is the complete reference for every text object bundled with nvim-various-textobjs. Each row shows the Lua function name, the default keymap(s), whether the object has inner/outer variants, and how far ahead the plugin will scan if the cursor is not already on the object (forward-seeking range).
“Small” forward-seeking scans 5 lines ahead by default; “Big” scans 15 lines. Both values are configurable via forwardLooking.small and forwardLooking.big in the setup() options.
When the cursor is not sitting directly on a characterwise object, the plugin automatically seeks forward within the configured range. This is what makes single-key operations like cL (change next URL) or c. (change next emoji) work without navigating to the target first — just press the operator and let the plugin find the next occurrence.

Objects with Inner/Outer Variants

These text objects accept "inner" or "outer" as an argument (or via i/a prefix keymaps) to control whether surrounding delimiters, whitespace, or punctuation are included in the selection.
Text ObjectFunctionInner KeymapOuter KeymapDescriptionForward-seeking
Indentationindentation(startBorder, endBorder)ii, iIai, aISurrounding lines with same or higher indentationNone
Greedy IndentationgreedyOuterIndentation(scope)igagOuter indentation expanded to blank lines; useful for functions with annotationsNone
Subwordsubword(scope)iSaSSegment of a camelCase, snake_case, or kebab-case word; outer includes trailing/leading _ or -None
Any BracketanyBracket(scope)ioaoInnermost (), [], or {} pair on one line; outer includes the bracketsSmall (5)
Any QuoteanyQuote(scope)iqaqAny unescaped ", ', or ` pair on one line; outer includes the quotation marksSmall (5)
Valuevalue(scope)ivavRight side of an assignment or key-value pair, excluding trailing comments; outer includes trailing , or ;Small (5)
Keykey(scope)ikakLeft side of an assignment or key-value pair; outer includes the = or :Small (5)
Numbernumber(scope)inanNumeric value similar to <C-a>; inner is digits only, outer includes sign and decimal pointSmall (5)
File Pathfilepath(scope)iFaFUNIX file path (supports ~ and $HOME); inner is the filename onlyBig (15)
Chain MemberchainMember(scope)imamSegment of a . or : connected chain such as foo.bar; outer includes one . or :Small (5)
Argumentargument(scope)i,a,Comma-separated function argument; outer includes the ,Small (5)
Colorcolor(scope)i#a#HEX, CSS RGB/HSL, or ANSI color code; inner includes only the color valueSmall (5)
Double BracketsdoubleSquareBrackets(scope)iDaDText inside [[...]]; outer includes the four square bracketsSmall (5)
Line CharacterwiselineCharacterwise(scope)i_a_Current line characterwise; outer includes leading indentation and trailing spacesSmall (5)
Closed FoldclosedFold(scope)izazA closed fold; outer includes the line immediately after the foldBig (15)
Notebook CellnotebookCell(scope)iNaNJupytext # %% delimited cell; outer includes the top cell borderNone

Objects without Inner/Outer

These text objects have a single, unambiguous selection and do not accept an inner/outer scope. They are invoked with a single keymap in both operator-pending and visual mode.
Text ObjectFunctionKeymapDescriptionForward-seeking
To Next Closing BrackettoNextClosingBracket()CFrom cursor to next ], ), or }, spanning multiple linesSmall (5)
To Next Quotation MarktoNextQuotationMark()QFrom cursor to next unescaped ", ', or `, spanning multiple linesSmall (5)
Rest of ParagraphrestOfParagraph()rLinewise from cursor position to end of paragraph (like } but linewise)None
Rest of IndentationrestOfIndentation()RLines downward with same or higher indentationNone
Entire BufferentireBuffer()gGThe entire buffer contentNone
Near End of LinenearEoL()nFrom cursor to end of line excluding the last character and trailing spaces; {count} excludes that many more charactersNone
Visible in WindowvisibleInWindow()gwAll lines currently visible in the windowNone
Rest of WindowrestOfWindow()gWFrom the cursor line to the last line visible in the windowNone
URLurl()LAny protocol URL (e.g. http, ftp, custom protocols)Big (15)
Diagnosticdiagnostic()!Current or next LSP diagnostic underlineUnlimited
Emojiemoji().A single emoji or Nerd Font glyphSmall (5)
Columncolumn(direction)|Blockwise column downward until a shorter line or indent change; accepts {count} and optional direction ("down", "up", "both")None
Last ChangelastChange()g;The last non-deletion change, yank, or pasteNone

Build docs developers (and LLMs) love