Coder Social home page Coder Social logo

aioutecism / amvim-for-vscode Goto Github PK

View Code? Open in Web Editor NEW
454.0 454.0 42.0 1.33 MB

The Vim mode for Visual Studio Code(vscode) that works as expected.

Home Page: https://marketplace.visualstudio.com/items/auiworks.amvim

TypeScript 99.57% JavaScript 0.43%
extension keybindings vim vscode

amvim-for-vscode's People

Contributors

aioutecism avatar alisonatwork avatar aminroosta avatar austenc avatar daneestar avatar ddedalus avatar dependabot[bot] avatar imyelo avatar jackfranklin avatar karlhorky avatar liukun avatar magbeat avatar marek2901 avatar mihai-vlc avatar molunerfinn avatar mtsknn avatar notiv-nt avatar rebornix avatar shamrin avatar tejanium avatar thatlousyguy avatar wmaurer avatar

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amvim-for-vscode's Issues

I cant write ;

In spanish keyboard not is posible write ; instead visual code whir this extension write <

emmet abbreviations don't expand with Tab

Hi, thanks for the awesome extension! It's great to have vim bindings working in an organic way with VSCode.

Unfortunately, it looks like something with Tab key handling breaks emmet abbreviation expansion. For example, typing the vscode docs sample ul.generic-list>lorem10.item*4 in insert mode and then hitting Tab just inserts a tab character instead of expanding the emmet expression.

race conditions with motions and revealing `InCenterIfOutsideViewport`

Sometimes when the viewport gets scrolled when using j or k, it doesn't scroll one line at a time, but instead it's more like it's scrolling a half-page at a time with the cursor jumping to the middle every time, i.e., similar to what would happen in Vim if you held down j and then pressed zz every time you reached the bottom of the screen.

This looks like it might be a race condition involving MoveCursor.byMotions, ActionReveal.primaryCursor, and the vscode framework. I.e., the async calls start falling behind, so the cursor is off the screen by the time the call to revealRange is made.

To see this, try using j to scroll through a long file, like extHost.api.impl.ts from the vscode source. It may be hard to catch at first, so it may help by trying this while your computer is running under a load. (I originally was going to suggest restarting VSCode just before trying to reproduce this, but it looks like that actually makes it harder to observe. Instead just try using the button in the Explore sidebar to close all working files, closing all open editors, and then opening, e.g., exHost.api.impl.ts.) After a while, I can reliably trigger this when pressing j a single time to move down to a partially off-screen line, even with no significant background CPU load.

Jump to line (#gg or #G)

While G (top of file) and gg (bottom of file) are supporting, support is needed to allow prefixing either motion with a number to jump to a specific line

Support "inside" command

The "i" modifier to many commands allows it to affect all text "inside" characters. For example, "ci)" would call "change inside parenthesis", finding the first ( to the left of the current cursor and deleting the text to the first ) to the right of the current cursor, then switching to insert mode. This works with many commands like d for delete, y for yank, v for visual block, etc.

It's a huge productivity boost and an key benefit of vim keybindings.

Support for Text Objects

I'm creating an issue to track this feature. See Text objects (only in Visual mode or after an operator) in issue #1

These are a few of my commonly used ones:

  • ciw - change in word
  • viw - visual select in word
    • I typically use this followed with yank and paste
  • ci( or ci) - change in parens
    • Useful to change function arguments or if/switch conditions, etc
  • ci< or ci> - change in angle brackets
    • Useful to change html, for example, change <div> to <span>
  • cit - change in tag
    • Example <p>Some | text</p>: If cursor is l, ciw will replace Some text inside <p></p>

Need to mark version in repo with a bumped prerelease number

When doing releases, bump the version in the repo to a "pre" version immediately after a release.

For example, right now, the latest release is 0.1.1. The version in the repo should now be at 0.1.2-pre. When doing the next release, make one commit changing it to 0.1.2, prepare a build from that, and then immediately make another commit changing the version string in the repo to 0.1.3-pre.

If the next version ends up being 0.2.1 instead of 0.1.2, it's will be okay to change it directly from 0.1.2-pre to 0.2.1.

If you make a build right now, the build and the latest release will be given identical version numbers, but they're not identical builds.

Conflict with VS Code autoClosingBrackets

After installing this plugin, the VS Code auto closing bracket function is broken.

  1. When I type function show( the ) shows automatically as function show(), but when I type another ), it becomes function show()) and the cursor is stayed in the middle of two )). Only if I input something into the bracket like function show(msg) then the cursor moves to the end without any problem.
  2. After I type function show(msg) { the } doesn't show out automatically.

Andrew

How to use multi-cursor mode

Thanks for this extension.

README said

Visual Block mode: Please use multi-cursor instead.

My question is

how to use multi-cursor mode to modify a block to insert or indent?

Thanks

Clicking exits Visual mode

In both vim and gvim, when you click while in visual mode, the selection should expand to the character (or line if in visual line mode) of the click.

Navigating between split panes

There is one important feature I am missing, is the ability to navigate between split panes with the keyboard, with vim keys like: C-w l to go 1 page right

j doesn't go to next "virtual" line like down-arrow does

  1. Turn on text wrapping in user settings.
  2. Press j on a line that's wrapped - it'll go to the next "real" line
  3. Go back and press down-arrow. It'll go to the next "virtual" line, which is the same line but wrapped creating multiple lines within the line.

Ctrl+C does not go back to Normal mode!

Please, please, please add this feature. I've tried the other 2 VSC vim extensions and they both do not support it either. Reaching for ESC is a pain on my hands. Having mapped Ctrl to Caps Lock (and leaving it that way for over a year), it's so much easier to do Ctrl+C.

implement `zz`

The following changes since commit dc564bd6180744fe9cf203994e1aae124010c58c:

  Update version to 0.1.1. (2016-02-10 07:22:51 +0900)

are available in the git repository at:

  https://gitlab.com/crussell/amVim.git zz

for you to fetch changes up to f5d2263d292926bf54060542c73e2325784ca17f:

  Implement `zz` (2016-02-11 21:51:21 -0600)

----------------------------------------------------------------
Colby Russell (1):
      Implement `zz`

 src/Actions/Reveal.ts | 11 +++++++----
 src/Modes/Normal.ts   |  3 +++
 2 files changed, 10 insertions(+), 4 deletions(-)

Merge this using git pull https://gitlab.com/crussell/amVim.git zz

Commands List

Selected from quickref of neovim.

N is used to indicate an optional count that can be given before the command.

Left-right motions

Status Keys Description
Done N h left (also: <BS>, or <Left> key)
Done N l right (also: <Space> or <Right> key)
Done 0 to first character in the line (also: <Home> key)
Done ^ to first non-blank character in the line
Partial N $ to the last character in the line (N-1 lines lower) (also: <End> key)
Done g0 to first character in screen line (differs from "0" when lines wrap)
Done g^ to first non-blank character in screen line (differs from "^" when lines wrap)
Partial N g$ to last character in screen line (differs from "$" when lines wrap)
Done gm to middle of the screen line
N
Done N f{char} to the Nth occurrence of {char} to the right
Done N F{char} to the Nth occurrence of {char} to the left
Done N t{char} till before the Nth occurrence of {char} to the right
Done N T{char} till before the Nth occurrence of {char} to the left
Done N ; repeat the last "f", "F", "t", or "T" N times
Done N , repeat the last "f", "F", "t", or "T" N times in opposite direction

Up-down motions

Status Keys Description
Done N k up N lines (also: <Up>)
Done N j down N lines (also: <Down>)
Done N - up N lines, on the first non-blank character
Done (except alternatives) N + down N lines, on the first non-blank character (also: <CR>)
Done N _ down N-1 lines, on the first non-blank character
Done N G goto line N (default: last line), on the first non-blank character
Done N gg goto line N (default: first line), on the first non-blank character
Done N % goto line N percentage down in the file; N must be given, otherwise it is the
Done N gk up N screen lines (differs from "k" when line wraps)
Done N gj down N screen lines (differs from "j" when line wraps)

Text object motions

Status Keys Description
Done N w N words forward
Done N W N blank-separated
Done N e forward to the end of the Nth word
Done N E forward to the end of the Nth blank-separated
Done N b N words backward
Done N B N blank-separated
N ge backward to the end of the Nth word
N gE backward to the end of the Nth blank-separated
N ) N sentences forward
N ( N sentences backward
Done N } N paragraphs forward
Done N { N paragraphs backward
N ]] N sections forward, at start of section
N [[ N sections backward, at start of section
N ][ N sections forward, at end of section
N [] N sections backward, at end of section
N [( N times back to unclosed '('
N [{ N times back to unclosed '{'
N [m N times back to start of method (for Java)
N [M N times back to end of method (for Java)
N ]) N times forward to unclosed ')'
N ]} N times forward to unclosed '}'
N ]m N times forward to start of method (for Java)
N ]M N times forward to end of method (for Java)
N [# N times back to unclosed "#if" or "#else"
N ]# N times forward to unclosed "#else" or "#endif"
N [* N times back to start of comment "/*"
N ]* N times forward to end of comment "*/"

Pattern searches

Status Keys Description
Partial N n repeat last search
Partial N N repeat last search, in opposite direction
Partial N * search forward for the identifier under the cursor
Partial N # search backward for the identifier under the cursor
N g* like "*", but also find partial matches
N g# like "#", but also find partial matches
Partial gd goto local declaration of identifier under the cursor
Partial gD goto global declaration of identifier under the cursor
Done / focus find widget

Marks and motions

Status Keys Description
m{a-zA-Z} mark current position with mark {a-zA-Z}
`{a-z} go to mark {a-z} within current file
`{A-Z} go to mark {A-Z} in any file
`{0-9} go to the position where Vim was previously exited
`` go to the position before the last jump
`" go to the position when last editing this file
`[ go to the start of the previously operated or put text
`] go to the end of the previously operated or put text
`< go to the start of the (previous) Visual area
`> go to the end of the (previous) Visual area
`. go to the position of the last change in this file
'{a-zA-Z0-9[]'"<>.} same as `, but on the first non-blank in the line
N CTRL-O go to Nth older position in jump list
N CTRL-I go to Nth newer position in jump list

Various motions

Status Keys Description
Partial (Only ([{ now) % find the next brace, bracket, comment, or "#if"/ "#else"/"#endif" in this line and go to its match
N H go to the Nth line in the window, on the first non-blank
M go to the middle line in the window, on the first non-blank
N L go to the Nth line from the bottom, on the first non-blank

Scrolling

Status Keys Description
N CTRL-E window N lines downwards (default: 1)
N CTRL-D window N lines Downwards (default: 1/2 window)
Partial N CTRL-F window N pages Forwards (downwards)
N CTRL-Y window N lines upwards (default: 1)
N CTRL-U window N lines Upwards (default: 1/2 window)
Partial N CTRL-B window N pages Backwards (upwards)
Partial z<CR> or zt redraw, current line at top of window
Done z. or zz redraw, current line at center of window
z- or zb redraw, current line at bottom of window
These only work when 'wrap' is off:
N zh scroll screen N characters to the right
N zl scroll screen N characters to the left
N zH scroll screen half a screenwidth to the right
N zL scroll screen half a screenwidth to the left

Inserting text

Status Keys Description
Partial N a append text after the cursor (N times)
Partial N A append text at the end of the line (N times)
Partial N i insert text before the cursor (N times) (also: <Insert>)
Partial N I insert text before the first non-blank in the line (N times)
N gI insert text in column 1 (N times)
Partial N o open a new line below the current line, append text (N times)
Partial N O open a new line above the current line, append text (N times)
in Visual mode:
Done I insert the same text in front of all the selected lines
Done A append the same text after all the selected lines

Insert mode keys

Status Keys Description
leaving Insert mode:
Done <Esc> end Insert mode, back to Normal mode
Done CTRL-C like <Esc>, but do not use an abbreviation
moving around:
Done cursor keys move cursor left/right/up/down
shift-left/right one word left/right
shift-up/down one screenful backward/forward
Done <End> cursor after last character in the line
Done <Home> cursor to first character in the line

Special keys in Insert mode

Status Keys Description
CTRL-V {char}.. insert character literally, or enter decimal byte value
Done <CR> begin new line
CTRL-E insert the character from below the cursor
CTRL-Y insert the character from above the cursor
CTRL-A insert previously inserted text
CTRL-@ insert previously inserted text and stop Insert mode
CTRL-R {0-9a-z%#:.-="} insert the contents of a register
CTRL-N insert next match of identifier before the cursor
CTRL-P insert previous match of identifier before the cursor
CTRL-X ... complete the word before the cursor in various ways
Done <BS> delete the character before the cursor
Done <Del> delete the character under the cursor
Done CTRL-W delete word before the cursor
Done CTRL-U delete all entered characters in the current line
CTRL-T insert one shiftwidth of indent in front of the current line
CTRL-D delete one shiftwidth of indent in front of the current line
0 CTRL-D delete all indent in the current line
^ CTRL-D delete all indent in the current line, restore indent in next line

Deleting text

Status Keys Description
Done N x delete N characters under and after the cursor
Partial N <Del> delete N characters under and after the cursor
Done N X delete N characters before the cursor
Done N d{motion} delete the text that is moved over with {motion}
Done {visual}d delete the highlighted text
Done N dd delete N lines
Partial N D delete to the end of the line (and N-1 more lines)
Partial N J join N-1 lines (delete <EOL>s)
Done {visual}J join the highlighted lines
N gJ like "J", but without inserting spaces
{visual}gJ like "{visual}J", but without inserting spaces

Copying and moving text

Status Keys Description
"{char} use register {char} for the next delete, yank, or put
Partial N y{motion} yank the text moved over with {motion} into a register
Done {visual}y yank the highlighted text into a register
Done N yy yank N lines into a register
Partial N Y yank N lines into a register
Done N p put a register after the cursor position (N times)
Done N P put a register before the cursor position (N times)
N ]p like p, but adjust indent to current line
N [p like P, but adjust indent to current line
N gp like p, but leave cursor after the new text
N gP like P, but leave cursor after the new text

Changing text

Status Keys Description
Done N r{char} replace N characters with {char}
N gr{char} replace N characters without affecting layout
Partial N R enter Replace mode (repeat the entered text N times)
N gR enter virtual Replace mode: Like Replace mode but without affecting layout
Done {visual}r{char} in Visual mode: Replace each char of the selected text with {char}
Done {visual}p in Visual mode: Replace selected text with register (also: {visual}P)
(change = delete text and enter Insert mode)
Partial N c{motion} change the text that is moved over with {motion}
Done {visual}c change the highlighted text
Partial N cc change N lines
Partial N S change N lines
Partial N C change to the end of the line (and N-1 more lines)
Partial N s change N characters
Done {visual}c in Visual mode: Change each of the selected text with the entered text
Done {visual}C in Visual mode: Change each of the selected text until end-of-line with the entered text
Done N ~ switch case for N characters and advance cursor
Done {visual}~ switch case for highlighted text
Done {visual}u make highlighted text lowercase
Done {visual}U make highlighted text uppercase
g~{motion} switch case for the text that is moved over with {motion}
gu{motion} make the text that is moved over with {motion} lowercase
gU{motion} make the text that is moved over with {motion} uppercase
{visual}g? perform rot13 encoding on highlighted text
g?{motion} perform rot13 encoding on the text that is moved over with {motion}
N CTRL-A add N to the number at or after the cursor
N CTRL-X subtract N from the number at or after the cursor
N <{motion} move the lines that are moved over with {motion} one shiftwidth left
Partial N << move N lines one shiftwidth left
N >{motion} move the lines that are moved over with {motion} one shiftwidth right
Partial N >> move N lines one shiftwidth right
N gq{motion} format the lines that are moved over with {motion} to 'textwidth' length
Partial N == filter lines through the VSCode's format process
Done ={motion} filter the text that is moved over with {motion} through the VSCode's format process
Done {visual}= filter the highlighted lines through the VSCode's format process

Visual mode

Status Keys Description
Done v start highlighting characters } move cursor and use
Done V start highlighting linewise } operator to affect
o exchange cursor position with start of highlighting
gv start highlighting on previous visual area
Done v highlight characters or stop highlighting
Done V highlight linewise or stop highlighting

Text objects (only in Visual mode or after an operator)

Status Keys Description
Partial N aw Select "a word"
Partial N iw Select "inner word"
Partial N aW Select "a
Partial N iW Select "inner
N as Select "a sentence"
N is Select "inner sentence"
N ap Select "a paragraph"
N ip Select "inner paragraph"
Partial N ab Select "a block" (from "[(" to "])")
Partial N ib Select "inner block" (from "[(" to "])")
Partial N aB Select "a Block" (from "[{" to "]}")
Partial N iB Select "inner Block" (from "[{" to "]}")
Partial N a> Select "a <> block"
Partial N i> Select "inner <> block"
Partial N at Select "a tag block" (from <aaa> to </aaa>)
Partial N it Select "inner tag block" (from <aaa> to </aaa>)
Partial N a' Select "a single quoted string"
Partial N i' Select "inner single quoted string"
Partial N a" Select "a double quoted string"
Partial N i" Select "inner double quoted string"
Partial N a` Select "a backward quoted string"
Partial N i` Select "inner backward quoted string"

Repeating commands

Status Keys Description
Partial N . repeat last change (with count replaced with N)

Undo/Redo commands

Status Keys Description
Partial N u undo last N changes
Partial N CTRL-R redo last N undone changes
U restore last changed line

Folding commands

Status Keys Description
Done zo open one fold under the cursor
Done zc close one fold under the cursor
Done zR open all folds
Done zM close all folds

Various commands

Status Keys Description
CTRL-G show current file name (with path) and cursor position
ga show ascii value of character under cursor in decimal, hex, and octal
g8 for utf-8 encoding: show byte sequence for character under cursor in hex
g CTRL-G show cursor column, line, and character position
<Del> while entering a count: delete last character

Multi-window commands

Status Keys Description
CTRL-W s split window into two parts
CTRL-W ] split window and jump to tag under cursor
CTRL-W f split window and edit file name under the cursor
CTRL-W ^ split window and edit alternate file
CTRL-W n create new empty window
CTRL-W q quit editing and close window
CTRL-W c make buffer hidden and close window
CTRL-W o make current window only one on the screen
CTRL-W p move cursor to previous active window
CTRL-W x exchange current window with next one

Numbers before commands

I can't, for example, do 2dd to delete two lines. Looked through open tickets and didn't see one for this, apologies if its a dupe.

`cw` shouldn't consume space after current word

If I have some line fum bar baz where my cursor is located over the "f", and I'd like to change this into foo bar baz, then I should be able to hit cwfoo. In amVim 0.0.15 when I do this I get foobar baz. This is because amVim doesn't handle the special case for cw, unlike Vim. See :help cw.

esc doesn't go to normal mode

Hey,

I'm OS X and when i press esc nothing happens, do i need to map ? trial an error i found that control + p goes into normal mode tho.

Indent/outdent keybindings in visual mode and visual line mode are wrong

A single press of < or > should be all it takes. See :help v_< and :help v_>.

The following changes since commit dd9013ca546b86fcc78d9a2cb4fb6c77d97fea07:

  Update version to 0.0.15. (2016-01-18 22:00:51 +0900)

are available in the git repository at:

  https://gitlab.com/crussell/amVim.git vdent

for you to fetch changes up to 808fbab9e60f39ba91a19cacdc4d3047ccb1c107:

  Correct out-/indent bindings; see `:help v_<` (2016-02-02 23:12:36 -0600)

----------------------------------------------------------------
Colby Russell (1):
      Correct out-/indent bindings; see `:help v_<`

 src/Modes/Visual.ts     | 4 ++--
 src/Modes/VisualLine.ts | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

https://gitlab.com/crussell/amVim/commit/808fbab9e60f39ba91a19cacdc4d3047ccb1c107

Obey user settings for showing suggestions

There's an "editor.quickSuggestions" setting. If the user has disabled it, we shouldn't indiscriminately show the suggestions box like we do right now.

The following changes since commit dc564bd6180744fe9cf203994e1aae124010c58c:

  Update version to 0.1.1. (2016-02-10 07:22:51 +0900)

are available in the git repository at:

  https://gitlab.com/crussell/amVim.git suggestion-setting

for you to fetch changes up to 2e6495df3c893ca709ad1c89716be090353cab86:

  Respect "editor.quickSuggestions" user setting (2016-02-12 00:33:52 -0600)

----------------------------------------------------------------
Colby Russell (1):
      Respect "editor.quickSuggestions" user setting

 src/Actions/Suggestion.ts | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

https://gitlab.com/crussell/amVim/commit/2e6495df3c893ca709ad1c89716be090353cab86

`W` motions do not work

For example, given the text test,one two, with the cursor at the start, dw should leave ,one two, and dW should leave two.

w-based motions work, while W-based ones do not.

"No suggestions." box always present

the subj
the suggestWidget box is always present once you start typing in the INSERT mode, even if there is nothing to suggest (displaying 'No suggestions'). This is an abnormal behavior and does not occur when extension is inactive.

cheers!

Go into insert mode always switches to US keyboard

I am using amVim with Norwegian keyboard layout. Whenever I press "i", i get US keyboard mapping. But, after moving around, the Norwegian keyboard layout is restored.

How can I help debugging this error?

Horizontally navigating with VIM shortcuts (h, l, 0, $, t, f, etc) does not horizontal scroll

Pressing non-VIM horizontal movement keys (left/right arrow, home, end, etc) will horizontal scroll the editor pane if needed to keep the cursor in the viewport, but pressing the vim shortcuts (h, l, 0, $, t, f, etc) does not. Pressing an arrow key after the cursor has gone out of the viewport will scroll and show the cursor in the viewport.

Vertical scrolling does work though (j, k, G, gg, etc)

yank and paste do not behave like in sublime

I'm transitioning from sublime, and the difference of yank and paste between this plugin and sublime is really bugging me. I can give an example if the author has not used or does not have access to sublime text; the main difference is that when pasting, the new text is inserted after the newline character instead of before, giving odd behavior.

Selecting these with v...
image

Yank, and paste from this position...
image

And you get this...
image

dd on last line doesn't work

After pressing G to go to the bottom of a text file, press dd won't let me delete the line. To be specific, there was a single character on it: }.

Eliminate block cursor hack

Version 0.10.8 has now has native support for a block cursor. (See microsoft/vscode PR #1586.)

ActionBlockCursor has a hack to simulate a block cursor. Unfortunately, toggling the block style is still not accessible through the extensions API. (See microsoft/vscode#561.) The implementation also has some minor aesthetic/readability issues. (See microsoft/vscode#2943.)

We can remove the hack now and recommend users toggle the editor.cursorStyle setting for themselves, or we can decide to wait for one or more of the outstanding issues to be resolved.

This issue can serve as a tracking bug.

y does not yank to clipboard

So now that we've got Ctrl+C, I need a way to copy+paste text between VS:C and other applications. Selection/highlighting only lets me copy 1 line (I'm not sure if this is amVim's fault or VS:C). Pressing y just yanks to some internal clipboard.

Normally in gvim, I would just use selection and middle-click to paste to other applications. Being able to yank to clipboard though would be very useful. I'm just not sure how possible or difficult that is with the underlying technologies.

Support for `s` and `S` in visual mode/visual line mode

The following changes since commit dd9013ca546b86fcc78d9a2cb4fb6c77d97fea07:

  Update version to 0.0.15. (2016-01-18 22:00:51 +0900)

are available in the git repository at:

  https://gitlab.com/crussell/amVim.git substitute

for you to fetch changes up to a7c1be40a068c13ec82daa6f2b0b1883e3c28f85:

  Add *VM* `s`, *VM* `S`, *VL* `s`, and *VL* `S` (2016-02-02 23:12:52 -0600)

----------------------------------------------------------------
Colby Russell (1):
      Add *VM* `s`, *VM* `S`, *VL* `s`, and *VL* `S`

 src/Modes/Visual.ts     | 2 ++
 src/Modes/VisualLine.ts | 2 ++
 2 files changed, 4 insertions(+)

https://gitlab.com/crussell/amVim/commit/a7c1be40a068c13ec82daa6f2b0b1883e3c28f85

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.