aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-12-15 07:05:12 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-12-15 07:09:39 +0800
commitcaa93b5e1e621e63777def5d9fdd49d613e1c274 (patch)
tree23ff107efe5b44b09d0ad5bdda059e3b88f12306
parent433b342baa04b35fb1ab24d4ef38f126d12ea714 (diff)
downloadrneovim-caa93b5e1e621e63777def5d9fdd49d613e1c274.tar.gz
rneovim-caa93b5e1e621e63777def5d9fdd49d613e1c274.tar.bz2
rneovim-caa93b5e1e621e63777def5d9fdd49d613e1c274.zip
vim-patch:ed89206: runtime(doc): add a note about inclusive motions and exclusive selection
related: vim/vim#16202 https://github.com/vim/vim/commit/ed89206efe404a94e8424ccfe03c978fd93470f1 Co-authored-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--runtime/doc/motion.txt7
-rw-r--r--runtime/doc/options.txt2
-rw-r--r--runtime/lua/vim/_meta/options.lua2
-rw-r--r--src/nvim/options.lua2
4 files changed, 13 insertions, 0 deletions
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 48e13d795e..ec4732c05a 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -86,6 +86,13 @@ command. There are however, two general exceptions:
end of the motion is moved to the end of the previous line and the motion
becomes inclusive. Example: "}" moves to the first line after a paragraph,
but "d}" will not include that line.
+
+ *inclusive-motion-selection-exclusive*
+When 'selection' is "exclusive", |Visual| mode is active and an inclusive
+motion has been used, the cursor position will be adjusted by another
+character to the right, so that visual selction includes the expected text and
+can be acted upon.
+
*exclusive-linewise*
2. If the motion is exclusive, the end of the motion is in column 1 and the
start of the motion was at or before the first non-blank in the line, the
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 6fe208f506..84f0bfe141 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4982,6 +4982,8 @@ A jump table for the options with a short description can be found at |Q_op|.
selection.
When "old" is used and 'virtualedit' allows the cursor to move past
the end of line the line break still isn't included.
+ When "exclusive" is used, cursor position in visual mode will be
+ adjusted for inclusive motions |inclusive-motion-selection-exclusive|.
Note that when "exclusive" is used and selecting from the end
backwards, you cannot include the last character of a line, when
starting in Normal mode and 'virtualedit' empty.
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index fecbece655..63bf0df5f6 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -5214,6 +5214,8 @@ vim.go.sect = vim.go.sections
--- selection.
--- When "old" is used and 'virtualedit' allows the cursor to move past
--- the end of line the line break still isn't included.
+--- When "exclusive" is used, cursor position in visual mode will be
+--- adjusted for inclusive motions `inclusive-motion-selection-exclusive`.
--- Note that when "exclusive" is used and selecting from the end
--- backwards, you cannot include the last character of a line, when
--- starting in Normal mode and 'virtualedit' empty.
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
index de152fb315..6dc32658fe 100644
--- a/src/nvim/options.lua
+++ b/src/nvim/options.lua
@@ -7011,6 +7011,8 @@ return {
selection.
When "old" is used and 'virtualedit' allows the cursor to move past
the end of line the line break still isn't included.
+ When "exclusive" is used, cursor position in visual mode will be
+ adjusted for inclusive motions |inclusive-motion-selection-exclusive|.
Note that when "exclusive" is used and selecting from the end
backwards, you cannot include the last character of a line, when
starting in Normal mode and 'virtualedit' empty.