| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
This adds a new verb, gy, which behaves exactly like a normal yank
command except it's dot-repeatable. When using the dot-repeat, it
yank-appends with a newline to the register, so it can be used as an
accumulator.
|
|
|
|
|
|
| |
This time, it's using TextChanged and CursorMoved hooks to determine
what the word was before and after a text change occured. This makes it
much cleaner and doesn't rely on remapping anything.
|
|
|
|
|
| |
The strategy is now, what was the word before the text was changed, and
what is it after, and have that be the search/replace.
|
|
|
|
|
| |
This is very useful for constraining searches to certain scopes such as
searching for a variable within a function or body of code.
|
|
|
|
|
|
| |
Follows the pattern:
i[nl]d[wei] for next/last diagnostic warning/error/info.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Salient changes are:
Get rid of object remapping the quotes (i/a "/'/`) in favor of adding
a new text object "next quotes" such as cin"/can"/etc.
Added mappings in visual mode that behave like "fall", but for
matching characters. So <C-v>ic will highlight the current character
and all of the same character up and down. Super useful for making
edits to columns of identical characters.
Added a text object ic/ac that highlight all the lines that match.
removed the uncommented paragraph text objects as they're broken
anyway.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Z] - move to the end of the next text object
Z[ - move to the start of the next text object
Zd - delete in the recorded text object
Zc - change in the recorded text object
Zn - repeat Z]
|
|
|
|
| |
Just like ip and ap, except it excludes commment blocks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
ZO - insert a new line before the text object/motion and enter insert
mode.
Zo - insert a new line after the text object/motion and enter insert
mode.
Z[ - Go to the beginning of a text object. (Can be used as a text object
itself)
Z] - Go to the end of a text object. (Can be used as a text object
itself.)
|
|
|
|
|
| |
This correctly implements redo for the supert functions. In addition,
this changes the bindings to Zf, ZF, Zt, ZT.
|
|
|
|
|
|
|
| |
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 +/-
|