GithubHelp home page GithubHelp logo

vscodevimacademy's Introduction

VSCODE VIM ACADEMY

中文 日本語

ABOUT

An educational game to learn vim and vscode keys in logical, digestable levels. Builds up your vim muscle memories by practicing vim keys 2~5 keys each level. Level text and keys are randomly generated on a per level basis. For example,

  1. move forward or backward by word
  2. go up or down a random number of lines
  3. delete word forward or backwards from current position
  4. delete word, undo or redo
  5. select, delete, or change lines
  6. delete, copy, or paste words
  7. and more

players complete 10 sets of the tasks as quickly with as little key presses as possible. Hints and manual will be listed on the right panel(CONSOLE), your performance will be logged per task based on how fast your performed and how many keypresses you used.


Authors Note

2022/6/2 If you didn't receive your license key an hour after using paypal, please email me directly at [email protected]. I'll find your paypal IPN number and generate a license manually. (My license generating server that listens for paypal messages does not work for Paypal users in China)

I intended to add some nifty animations that points from the cursor to the location along with the helpers introduced in this update. But feel that it is too distracting. In the end, a little burnt out, but I'll be doing small updates if possible. Thanks for the people that bought this!


CHANGES / FIXES (2022/6/2)

  1. [Added Hotkey Helpers into the editor interface, note all levels/keys are supported currently]
  2. [Modified how tasks are generated in preparation for better task mixing]
  3. [Updated NPM packages with security warnings(moment, lodash, minimist)]

CHANGES / FIXES (2021/6/3)

  1. Level 'Swap Characters' breaks VVA
  2. Level 'Marks' not loading correctly
  3. Levels 'Goto Definition' and 'Rename Symbol' not loading
  4. Level 'Word Search 3' incorrect setup

CATEGORIES

Levels are separated into five categories.

  1. Motions
  2. Actions - Horizontal
  3. Actions - Vertical
  4. Surrounds
  5. UI

COLOR CODED ACTIONS

In the editor, tasks will be shown as a color outline around the text. It can be a single character, words, lines, text objects or blocks.

  1. Inside - Move the curor inside the yellow box
  2. Delete - Delete the contents of the red box
  3. Select - Select the contents of the orange box
  4. Paste - Paste the contents of green box at the green cursor position
  5. Copy - Copy the contents of the grey box
  6. Editing - change, insert, indent, comment, add, minus depending on the level
  7. Outside - Helper type for the mark level, moving outside completes the task

QUICK START

  1. Install VSCODE VIM extension to enable vim emulation in vscode.
  2. Install VSCODE VIM ACADEMY
  3. Open the command palette ctrl+shift+p
  4. Enter "start vva" in the command palette to start the game.
    Video Tutorial



USER INTERFACE

LEVEL INFO

  1. Star rating on the top right is for importance
  2. Total time
  3. Performance log, try to keep the cyan line below the red line
    1. Current - current task speed
    2. Current Avg - average of current level tasks
    3. Target - based on my times
    4. Hist - these are based on my times while play testing
  4. Task table
  5. Current level keys and key description




LEVEL NAVIGATION

To quickly continue to the next level without using the mouse, this widget will show up at the end of a level. Move the cursor using the vim keys,

  1. 0 - Previous Level
  2. b - Retry Current Level
  3. w - Next Level
  4. $ - Open the Buy Extension Page

To choose a specific level, use the console to go back to the level selection page You can also bind keys for previous, next, and retry levels

  1. vva.prevLevel
  2. vva.retryLevel
  3. vva.nextLevel




Vim Cheatsheet HUD

Painstakingly built SVG Animation! Unlimited resolution!

Press ctrl+alt+c to toggle the cheatsheet in editor, this feature does not require activating VVA or a VVA license, as long as the VVA extension is installed, the cheatsheet can be shown in the editor. Grab the extension now before I put this feature behind the pay wall!


NON-ANIMATED DOWNLOADABLE

Light(Printable) Dark



DEMO


Basic Levels and UI
Word - Move to beginning of word(s) or end of words(s)
Actions Motions

ISSUES

  1. Change to a Dark Theme, VVA currently only supports dark themes.
  2. I had intended to support multiple languages, theres only english, partial chinese and japanese for now. To change language, go to settings/vva/language

LEVEL DETAULS

Motions
  1. Left & Right 1
  2. Up & Down 1
  3. All Directions
  4. Left & Right 2
  5. Up & Down 2
  6. Beginning of Word 1
  7. Beginning of Word 2
  8. End of Word 1
  9. Review - Word Beginning & End
  10. Bol, Eol, First Letter
  11. Review - Word Beginning & BEFCOL
  12. Beginning of Word 3
  13. End of Word 2
  14. Review - WB & ege
  15. Top and Bottom of Page
  16. Up & Down Relative
  17. Review - Top, Bottom & Relative Line
  18. Goto Line
  19. Review - Goto & Relative Line
  20. Top, Middle, Bottom of Screen
  21. Up, Down Half Screen
  22. Up, Down Full Screen
  23. Review - Screen Line Movements
  24. Goto Next Paragraph
  25. Goto Next Sentence
  26. Goto Sections 1 - End Of
  27. Goto Sections 2 - Start Of
  28. Goto Sections 3 - Nearest Start or End
  29. Goto Sections 4 - Start or End
  30. Goto % of File
  31. Hover
  32. Next Pair Match
  33. Searching For Letters 1
  34. Word Search 1
  35. Word Search 2
  36. Word Search 3
  37. Goto Definition
  38. Marks
Actions - Horizontal
  1. Visual Mode 1 - Select & Exit
  2. Visual Mode 2 - Incrementally Select
  3. Select Word
  4. Delete Word
  5. Paste Word
  6. Delete & Paste Word
  7. Copy Word
  8. Change Word
  9. Replace Word
  10. Rename Symbol
  11. Actions + Motion
  12. Actions + Motions
  13. Undo & Redo
  14. Select Find Letter
  15. Select To Letter
  16. Delete & Backspace
  17. Delete & Backspace 2
  18. Change Case
  19. Add, Minus 1
  20. Add, Minus 2 - Numbered
  21. Replace Char & Replace With
  22. Swap Characters
  23. Insert At & After Cursor
  24. Insert At EOL & FCOL
Actions - Vertical
  1. Select Line
  2. Select Line Incrementally
  3. Delete Line
  4. Copy Line
  5. Change Line
  6. Paste Line
  7. Insert Line
  8. Replace Line
  9. All Line
  10. Select Lines
  11. Copy Lines
  12. Insert Lines
  13. Delete Lines
  14. Change Lines
  15. Copy Line & Paste
  16. Join Lines
  17. Swap/Move Line
  18. Indent Lines
  19. Comment Lines
Surrounds
  1. Select Word Text Object
  2. Select All Surround
  3. Select Inside Surround
  4. Delete/Change All
  5. Delete/Change Inside
  6. Add Surround
  7. Delete Surround
  8. Change Surround
  9. Delete HTML Tag Inner/Outer/Surround
UI
  1. Select Group
  2. Left/Right Editor
  3. Left/Right Group
  4. Quick File Navigation 1 - Search
  5. Quick File Navigation 2 - Last File

THANKS

For the four initial buyers and supporters of VVA, gave me some faith that this just might work.

If you find this extension useful, spread the word, give me some feedback at the git repo or extension marketplace and perhaps buy the extension. With enough support, I would like to rework the task decorationOptions to use svg animations instead of the vscode default fadeIn fadeOut css animation. Something cool, like arrows pointing to navigating positions or text delete animations using SVG.

NOTES

Buy a license to unlock all the levels

paypal

TODO

  1. demonstrate the learning process of vva
  2. demonstrate what a high level vim user is capable of
  3. my keybindings for other parts of vscode that uses the same keys as vim. (side panels, terminal, command palette)
  4. level descriptions
  5. webpack the extension

vscodevimacademy's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vscodevimacademy's Issues

Fora de tela

First, thank you very much for making this extension. It's been the coolest and most practical way I think to be updating VIM. I even got the full version.

But having 2 problems in this learning and I would like to share:

Sometimes it happens that the text in the menu pops up out of nowhere

image

In the previous challenge I was asked to go down the last line with G, so I went to that position. But the next challenge was getting to the first letter of the sentence, and I was kind of on top of it. At various times this happens, when I go to a position I was already in, having to press l h to continue. Adding a check before giving the next command would be nice

image

Typo in Up & Down 1

On Up & Down 1 It says that 'j' moves up and 'k' moves down when it is the opposite.

See here:
image

It doesn't work at all?

Hi,
I can install and start it. And I can open in the console the different levels.
But I can't do any of the actions.
I can click on the text and select it. But pressing any button will result in the letter showing up for a split second, to get deleted after.

So I can't do any of the levels.
pressing h or l - or any other buttons won't move or do anything it is supposed to do...

I can click next to the carret and it moves.. but I would rather try the vim keys

Image.002.mp4

game breaks on press of "u"

Screen.Recording.2021-11-28.at.10.21.01.PM.mov

in the video, you can see what happens when I press "u" it happens slightly differently each time, but every time, text that wasn't supposed to be there appears.
This is an awesome project btw!

Level 'Marks' not loading correctly

The level 'Marks' in the first section does not open correctly for me.

  • the left window loads something (not sure if it is the correct level)
  • the level select on the right does not switch to the level control windows

Tested on 2 different systems, both Win10 and latest version of VScode.

image

Error loading webview: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..

I'm getting the following when I try and start the app from the command palette:

image

Error loading webview: Error: Could not register service workers: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..

Version: 1.56.2 (system setup)
Commit: 054a9295330880ed74ceaedda236253b4f39a335
Date: 2021-05-12T17:13:13.157Z
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: 8.9.255.24-electron.0
OS: Windows_NT x64 10.0.19042

Level 'Word Search 3' incorrect setup

Hi there,

first off, thank you very much for creating the extension, it really helped me to get into VIM and I bought the premium license to learn more and support such an awesome project.

In the premium section there are a few levels that not work for seemingly different reasons, so I decided to create separate Issues here for each of them.

The first one is 'Word Search 3' in the first section. This one teaches the commands '#' and '*' for jumping to the next occurrence of the word currently under the cursor. The issue is, the level-setup does not create the option to use these commands, since it has the same block of text as the 2 levels before it and you need works that are separated by whitespace or non-letter-characters.

image

Easiest fix would probably be to replace the capital filler letters with spaces or non-letter-chars.

Levels 'Goto Definition' and 'Rename Symbol' not loading

The levels 'Goto Defintion' in section 1 and 'Rename Symbol' in section 2 do not load at all for me.

  • the level window on the left side just shows whichever level was opened before
  • if you open it as the first level after starting VVA, the left side is empty
  • the level select on the right does not switch to the level controls

The issue is the same for me on 2 different systems, both Windows 10 and the latest version of VS-Code.

Loading after Word Search 3:
image

Loading from fresh start:
image

[Feature Request] Sandbox/Practice Mode

Can you create a free sandbox mode, which has a large mock project or file, and jumps around for you to create arbitrary changes/movements to it? Ideally, this mode would be available to both free and paid users, and not specify any sort of keyboard functionality or have any guides as a concession. It could also have benchmarks or something to allow you to compare your time. I'm asking for this type of change because a lot of the lessons don't combine motions from other lessons, except for the periodic section review ones, and making these sorts of changes with automated direction seems like a good way to get better.

don't work lesson "goto Next Paragraph"

Just to take a look, that for some reason this list is not working for me. Maybe it can happen to other people. And yes, I've tried to reinstall, but in this challenge there's always a problem. Both in VSCode on linux and windows

Animação222

Visual Mode Bug

Thanks for making this extension!

Bug:
When "vim.statusBarColorControl": true is set in settings.json, entering Visual mode will cause the text on the screen to change and make the level unplayable.

Level 'Swap Characters' breaks VVA

The level 'Swap Characters' in section 2 does break VVA for me after opening.

  • level window on the left loads something
  • select window on the right does not change after clicking
  • after loading, it's not possible to change levels anymore or do anything else in VVA

Tested on 2 different systems, both Win10 and latest version of VScode.

After loading the level:
image

Clicking on another level (that normally works) does nothing:
image

Code

Will the code ever be published or is this repository just an issue tracker?

I would suggest releasing the code under the GPL-3.0-or-later or AGPL-3.0-or-later license so that others are encouraged to contribute changes back to your project.

Lisence?

How do I get a license after I buy the game?

Other ways to pay?

Hi,
I want to buy the license, but I can't do it through PayPal (I'm in Taiwan).
Does there any other ways to do it?

Trusted Domains Issue

Whenever i try to open VVA, i see the following:
Screenshot 2021-05-13 at 11 39 37
I've tried this with a fresh installation of VSCode so theres no risk of other plugins interfering.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.