VSCodeVim / VSCodeVim/Vim

Support `targets.vim` plugin

Open
#601 12 comments 31 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/not-vim-core help wanted kind/feature size/M
Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

One plugin that is very useful for my VIM flow is this one:
https://github.com/wellle/targets.vim

It builds on the idea of the ci" command - where it jumps forward to find the nearest quotation, and changes inside, for other characters, like (), {}, [], etc.

It also supports argument text objects - which are handy for deleting and changing in function arguments. So cia would jump forward to an argument and change.

These motions and text objects are nice because they mean you can strike from a distance.

In terms of integration, it seems like it depends on whether the plugin story for this is implemented:
https://github.com/VSCodeVim/Vim/issues/590

If that happens, we might want to look at making the text objects extensible to support these scenarios.
Otherwise, we could potentially bake it in as a setting.

Note that ci" is already supported in VSCodeVim (and VIM out of the box), so potentially the work at least for those jump commands might not be too bad.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked plugin issue, VSCodeVim/Vim#590, to determine whether extensible plugin support exists, then compare that with the current implementation of the existing ci" text object. Done means deciding and implementing support for the requested targets.vim motions and argument text objects, either through the plugin mechanism or a setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vim, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.