VSCodeVim / VSCodeVim/Vim

vim-like autocomplete

Open
#4,744 2 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

upstream/vscode
Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

In all autocompletes with TAB, I get the following behavior:

  • start to write a word
  • hit tab
  • then a fully-completed word is produced
  • I can cycle through fully-completed words by hitting tab more times

I do not think this is the default vim behavior, and I think it is quite annoying. Would it be possible to get the default vim behavior instead? Which is:

  • start to write a word
  • hit tab
    • if only 1 possible match, fully complete
    • else, if more than 1 possible match, complete up until the ambiguous character, and show the different possibilities. In this case:
      • if tab is hit again, fill in the 1st match
      • otherwise, the user should write the ambiguous character, and hit tab again. This jumps back to the 1st 'hit tab' behavior (i.e., fully match if only 1, or match only to ambiguous character otherwise)

When ambiguous match takes place, a small, temporary split is opened to display the different matches (and gets closed once the completion is over).

This is valid for both text completion, command completions, paths completions when opening files, tabs, splits, etc.

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

No file, test, or entry point is identified in the issue. Start by locating the shared autocomplete handling for text, commands, paths, tabs, and splits, then reproduce the current TAB behavior in each case. Done means matching Vim-style ambiguity handling, including the temporary split of possible matches, across all listed completion types.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.