-
Notifications
You must be signed in to change notification settings - Fork 153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: vi visual mode #800
Conversation
as a proof of concept
Commands requiring motion in normal mode, don't in visual mode.
to allow switching from vi visual mode to vi normal mode instead of just to vi insert mode.
after deleting selection.
we require |
fixed.
$ cargo run --example demo -- --vi type some text to test on. Press "ESC" to switch into the vi normal mode and then press "v" to enter visual mode. Now using the same keys as in vi normal mode moves the cursor while also selecting the text. These are "h" and "l" (lower case L) for moving a char left and right, or "b" and "w" for moving a word left and right, "B" and "W" for the big words, as well as "0" (zero) and "$" for the start and end of the line. Once you have selected your text "d" deletes the selected text or "c" to delete the selected text and enter new text. |
Thanks |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [reedline](https://togithub.com/nushell/reedline) | workspace.dependencies | minor | `0.30.0` -> `0.33.0` | --- ### Release Notes <details> <summary>nushell/reedline (reedline)</summary> ### [`v0.33.0`](https://togithub.com/nushell/reedline/releases/tag/v0.33.0) [Compare Source](https://togithub.com/nushell/reedline/compare/v0.32.0...v0.33.0) #### What's Changed - fix some new clippy warnings by [@​fdncred](https://togithub.com/fdncred) in [https://github.com/nushell/reedline/pull/790](https://togithub.com/nushell/reedline/pull/790) - Add PWD to the `Reedline` state by [@​YizhePKU](https://togithub.com/YizhePKU) in [https://github.com/nushell/reedline/pull/796](https://togithub.com/nushell/reedline/pull/796) - Fix [#​793](https://togithub.com/nushell/reedline/issues/793) using width() for column menu alignements with special char by [@​Jiogo18](https://togithub.com/Jiogo18) in [https://github.com/nushell/reedline/pull/794](https://togithub.com/nushell/reedline/pull/794) - Make menus process events before updating working details by [@​ysthakur](https://togithub.com/ysthakur) in [https://github.com/nushell/reedline/pull/799](https://togithub.com/nushell/reedline/pull/799) - Feature: vi visual mode by [@​adamschmalhofer](https://togithub.com/adamschmalhofer) in [https://github.com/nushell/reedline/pull/800](https://togithub.com/nushell/reedline/pull/800) #### New Contributors - [@​YizhePKU](https://togithub.com/YizhePKU) made their first contribution in [https://github.com/nushell/reedline/pull/796](https://togithub.com/nushell/reedline/pull/796) - [@​Jiogo18](https://togithub.com/Jiogo18) made their first contribution in [https://github.com/nushell/reedline/pull/794](https://togithub.com/nushell/reedline/pull/794) - [@​adamschmalhofer](https://togithub.com/adamschmalhofer) made their first contribution in [https://github.com/nushell/reedline/pull/800](https://togithub.com/nushell/reedline/pull/800) **Full Changelog**: nushell/reedline@v0.32.0...v0.33.0 ### [`v0.32.0`](https://togithub.com/nushell/reedline/releases/tag/v0.32.0): 0.32.0 [Compare Source](https://togithub.com/nushell/reedline/compare/v0.31.0...v0.32.0) #### What's Changed - add bashism `!term` to prefix search for last command beginning with `term` by [@​fdncred](https://togithub.com/fdncred) in [https://github.com/nushell/reedline/pull/779](https://togithub.com/nushell/reedline/pull/779) - Remove debug print by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/784](https://togithub.com/nushell/reedline/pull/784) - fix ide menu not reporting correct required_lines by [@​maxomatic458](https://togithub.com/maxomatic458) in [https://github.com/nushell/reedline/pull/781](https://togithub.com/nushell/reedline/pull/781) - Fix (properly) the logic around prompt re-use & Host Command handling by [@​bew](https://togithub.com/bew) in [https://github.com/nushell/reedline/pull/770](https://togithub.com/nushell/reedline/pull/770) - fix: unexpected spaces after large buffer input by [@​sigoden](https://togithub.com/sigoden) in [https://github.com/nushell/reedline/pull/783](https://togithub.com/nushell/reedline/pull/783) - Bump version for `0.32.0` release by [@​devyn](https://togithub.com/devyn) in [https://github.com/nushell/reedline/pull/785](https://togithub.com/nushell/reedline/pull/785) #### New Contributors - [@​bew](https://togithub.com/bew) made their first contribution in [https://github.com/nushell/reedline/pull/770](https://togithub.com/nushell/reedline/pull/770) - [@​sigoden](https://togithub.com/sigoden) made their first contribution in [https://github.com/nushell/reedline/pull/783](https://togithub.com/nushell/reedline/pull/783) - [@​devyn](https://togithub.com/devyn) made their first contribution in [https://github.com/nushell/reedline/pull/785](https://togithub.com/nushell/reedline/pull/785) **Full Changelog**: nushell/reedline@v0.31.0...v0.32.0 ### [`v0.31.0`](https://togithub.com/nushell/reedline/releases/tag/v0.31.0): 0.31.0 [Compare Source](https://togithub.com/nushell/reedline/compare/v0.30.0...v0.31.0) New release for [Nushell](https://togithub.com/nushell/nushell) `0.92.0` #### What's Changed - Bump version of `strum`/`strum_macros` by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/768](https://togithub.com/nushell/reedline/pull/768) - Use the OS clipboard only for explicit cut/copy/paste operations by [@​Tastaturtaste](https://togithub.com/Tastaturtaste) in [https://github.com/nushell/reedline/pull/761](https://togithub.com/nushell/reedline/pull/761) - Revert "Move left when exiting insert mode" by [@​fdncred](https://togithub.com/fdncred) in [https://github.com/nushell/reedline/pull/773](https://togithub.com/nushell/reedline/pull/773) - Fix `OpenOptions` clippy by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/776](https://togithub.com/nushell/reedline/pull/776) - Bump `fd-lock` requirement and locked deps by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/775](https://togithub.com/nushell/reedline/pull/775) - Fix case-consistency searching sqlite history by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/777](https://togithub.com/nushell/reedline/pull/777) - Bump version for `0.31.0` release by [@​sholderbach](https://togithub.com/sholderbach) in [https://github.com/nushell/reedline/pull/780](https://togithub.com/nushell/reedline/pull/780) **Full Changelog**: nushell/reedline@v0.30.0...v0.31.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles. 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/oxidecomputer/crucible). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This extends the vi mode with a visual mode. Can be tested in the basic example: v to enter in normal mode. Regular movements (e.g. b,w) work and d or C to delete and reenter normal or invert mode.