| Commit message (Collapse) | Author | Age |
| | |
|
| | |
|
| |
|
|
|
|
|
| |
remap the text objects for ", ' and ` to go to the next string even if
the next string is not on the same line.
also add nnoremap Y y$ for good measure.
|
| |
|
|
|
|
|
| |
anb and friends. Like ib, except always go to the next body regardless
of if already in one.
similar mappings for an<, anB, an[
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
instead of starting a command around a text object, repeat the last
ranged command around that text object.
So one can now do something like
vip:sort<cr>
to sort the current paragraph, and then that command can be repeated
on a different paragraph with g:ip, and then the command is
dot-repeatable.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So typing Ziib will move the cursor to the next body and enter INSERT
mode.
Zaib will move the cursor to the END of the next body and enter INSERT
mode
Ziiw will enter insert mode before the current word
Zaiw will enter insert mode after the current word.
Ziip will enter insert mode befor the current paragraph
thus, Zi^ is semantically equivalent to I and Za$ is semantically
equivalent to A.
Zib will move the cursor back a word and enter insert mode.
All of these commands are repeatable with the dot (.) operator.
much of this same thing can be accomplished with the change operator (c)
and use of ^R^P", but that's quite obtuse, especially when working on
large text objects.
Right now, without Rahm's patched Neovim using user-defined text objects
will cause these commands to not play well with the dot (.) operator.
This is because do accomplish this, this plugin uses an operator within
an operator which is not well supported in Vim.
|
| |
|
|
| |
Adds the text object i/
|
| | |
|
| |
|
|
|
| |
this uses a new operator 'cd' which can be thought of as 'comment-y
delete'
|
| |
|
|
|
|
| |
c[g]I - starts insert after the v:count1'th WORD. If the g is not
supplied, whitespace is skipped and insert starts right before th
e (v:count1+1)'th WORD.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adds cx, cxx, cX, cXX, cgx, cgxx, cgX, cgXX
which is
[count]c[g](x|X)<motion>
add/subtract v:count to each codepoint in the given text motion.
if g is present, modify /all/ codepoints
if g is not present, modify only non-space codepoints
if X is used, subtract v:count from each codepoint
if x is used, add v:count to each codepoint
if x or X is repeated, operate on the line.
repeatable with '.'
|
| |
|
|
|
|
| |
cpp put over the line
cP put from the current position to the end of the line
["r]{visual}P Paste, but place the yanked text into the provided register.
|
| |
|
|
|
|
| |
The cp operator replaces a text object with the contents of a register
while preserving the value of the default register to improve
repeatability.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
a% - selects (V)isual from the current line, finds the next { and jumps to
the matching one (%). Good for deleting around bodies in C-like
languages.
i% - finds the next { enters (v)isual, jumpts to matching, and shrinks
the selection by a character. (so it changes whatever is in the '{').
Good for changing the contents inside a C-style body.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
monocole adds mappings to fold text around a text object so only the
text described by th egiven text object is available.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* Add ability to repeat motion with ,/;
* Add ability to disable bindings
* Change motions to +/-
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This plugin adds support for motions and text object based around
subwords. A "subword" is a constituent word of a larger "metaword"
in some case format. For examle "camel" is a "subword" of the "metaword"
"camelCase" or "camel_case".
The text objects added are
* `i-` the inner subword. For this would match something like
"[camel]_case" or "[camel]Case"
* `a-` around the subword. This distinction only matters for snake_case,
where the match would be "[camel_]case". For camelCase, this is the
same as `i-`.
* `i_`/`a_` like the above, but interpret ambiguous metawords as
snake_case. For example, the metaword ThisIs_AnExample is ambiguous
because it's both snake_case and camelCase. `i-`/`a-` interpet it as
camelCase, but `i_`/`a_` interpet it as snake_case.
ThisIs_AnExample
^
i- === [This]Is_AnExample
a- === [This]Is_AnExample
i_ === [ThisIs]_AnExample
a_ === [ThisIs_]AnExample
The motions added are
* `M--` (Meta + hyphen) Move forward one subword
* `M-_` (Meta + underscore) Move backward one subword.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Hints work like qutebrowser. <C-f> will enter hint mode, which will
prompt the user to type a two-letter sequence to jump the cursor to a
specific line.
|
| |
|