LibreOffice considers a "." directly after the end of a word to be the
end of word. Before this fix, pressing "e" would move the cursor to the
"." in these cases instead of to the last character of the word like in
Vim.
VibreOffice defines the cursor at being at the end of a word when the
cursor is to the right of the last character. Pressing "i" after
following this definition would start inserting after the word and not
before the last character like it does in vim. This fix changes the "e"
behavior so it now will move one character to the left after reaching
LibreOffice's definition of end of word in cases when it is appropriate.
Bug Fixes:
-"^" will now move to the first character of the line that is not a
space or a tab (more like vim).
-"gg" and "G" will now work in visual and visual_line mode.
-Fixed a problem with "V" where it would not select the new line
character at the end of the visual base line when moving up with "k".
-"a" and "p" will now behave more like vim when the cursor is on the end
or beginning of a paragraph.
"^" will now move to the first character of the line that is not a space
or a tab (more like vim).
Fixed a problem with "V" where it would not select the new line
character at the end of the visual base line when moving up with "k".
"a" will now not move the cursor right before going into insert mode
when the cursor is at the end of the paragraph. Without this fix "a"
would go to the next paragraph before entering insert mode.
"p" will now not move the cursor right before pasting when the cursor is
at the end of the paragraph. Without this fix "p" would go to the next
paragraph before pasting.
Vibreoffice can now correctly select any line with "V" (visual select by
line) using the j and k keys. The only downside to this fix is that when
selecting lines downwards with "j" the cursor will always be on the line
bellow the selection. Not a big deal, just not aesthetically pleasing.
Vibreoffice can now select by lines with "V" (visual_line mode). When in
this mode lines can be selected with the j and k keys.
This feature isn't perfect yet. Lines cannot yet be selected properly
with the arrow keys and empty lines at the end of a selection are not
always selected properly.
"cw" and "bw" now behave more like vim in very specific conditions. "cw"
and "bw" should now work as they do in vim when the cursor is on the
start of a paragraph before these commands are implemented.
Next-word (w) will now reach the next word when it involves moving the cursor down a line and that line starts with whitespace. It will now also skip over lines that only contain whitespace (like vim).
This fixes many problems that back word was having when using the
gotoPreviousWord function. Back word will now not get stuck when the
current line starts with whitespace. It will also now not skip over some
of the words that start on the beginning of the line. It will stop going
back when it hits an empty line like in vim. It will also skip over
lines that only have whitespace (just like vim).
Before this "b" would skip the cursor over the line above it if the line was empty. It also used to skip over the previous word if that word was 1 character and was on the line above the cursor.
This allows "b" to move the cursor back a word even when the line starts with whitespace. Before this "b" would get stuck on whitespace if it was at the beginning of the line.
"e" can now go to the next line when there are only whitespace characters on the current line. Before this the cursor would get stuck, not moving no matter how many times you press "e" when the current line only had whitespace characters.
"e" will now work how it does in vim. Pressing "e" moves the cursor to the end of the current word. If already at the end of the word then it moves the cursor to the end of the next word.