aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-27 13:02:55 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-04-29 15:51:03 +0800
commit212349c100e9ada0c976bdaf1daf1aebec65edac (patch)
treedad7eb0010b211baeacc1ede2c046ff5671d1db1 /runtime
parent44269c73a32f13d39ead1fdc257a97fc18ae805c (diff)
downloadrneovim-212349c100e9ada0c976bdaf1daf1aebec65edac.tar.gz
rneovim-212349c100e9ada0c976bdaf1daf1aebec65edac.tar.bz2
rneovim-212349c100e9ada0c976bdaf1daf1aebec65edac.zip
feat(edit): insert an unsimplified key using CTRL-SHIFT-V
This marks the following Vim patches as ported: vim-patch:8.1.2333: with modifyOtherKeys CTRL-^ doesn't work Problem: With modifyOtherKeys CTRL-^ doesn't work. Solution: Handle the exception. https://github.com/vim/vim/commit/828ffd596394f714270a01a55fc3f949a8bd9b35 vim-patch:8.1.2350: other text for CTRL-V in Insert mode with modifyOtherKeys Problem: Other text for CTRL-V in Insert mode with modifyOtherKeys. Solution: Convert the Escape sequence back to key as if modifyOtherKeys is not set, and use CTRL-SHIFT-V to get the Escape sequence itself. (closes vim/vim#5254) https://github.com/vim/vim/commit/fc4ea2a72d36de1196a3ce17352e72f8fe90f4bb vim-patch:8.2.2084: CTRL-V U doesn't work to enter a Unicode character Problem: CTRL-V U doesn't work to enter a Unicode character when modifyOtherKeys is effective. (Ken Takata) Solution: Add a flag to get_literal() for the shift key. (closes vim/vim#7413) https://github.com/vim/vim/commit/0684e36a7ee0743f2889698fb8e0e14f7acae423 Omit getcmdkeycmd() change as it depends on Vim patch 8.2.2062, which may introduce a potential breakage.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/cmdline.txt7
-rw-r--r--runtime/doc/insert.txt12
2 files changed, 16 insertions, 3 deletions
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 9fa2034718..6228c9238f 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -67,12 +67,19 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
decimal value of a single byte. The non-digit and the three
digits are not considered for mapping. This works the same
way as in Insert mode (see above, |i_CTRL-V|).
+ For special keys, the CTRL modifier may be included into the
+ key to produce a control character. If there is no control
+ character for the key then its |key-notation| is inserted.
Note: Under Windows CTRL-V is often mapped to paste text.
Use CTRL-Q instead then.
*c_CTRL-Q*
CTRL-Q Same as CTRL-V. But with some terminals it is used for
control flow, it doesn't work then.
+CTRL-SHIFT-V *c_CTRL-SHIFT-V* *c_CTRL-SHIFT-Q*
+CTRL-SHIFT-Q Works just like CTRL-V, but do not try to include the CTRL
+ modifier into the key.
+
*c_<Left>* *c_Left*
<Left> cursor left
*c_<Right>* *c_Right*
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 9db44eaaa0..7f6662089d 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -192,12 +192,14 @@ CTRL-D Delete one shiftwidth of indent at the start of the current
label.
*i_CTRL-V*
-CTRL-V Insert next non-digit literally. For special keys, the
- terminal code is inserted. It's also possible to enter the
- decimal, octal or hexadecimal value of a character
+CTRL-V Insert next non-digit literally. It's also possible to enter
+ the decimal, octal or hexadecimal value of a character
|i_CTRL-V_digit|.
The characters typed right after CTRL-V are not considered for
mapping.
+ For special keys, the CTRL modifier may be included into the
+ key to produce a control character. If there is no control
+ character for the key then its |key-notation| is inserted.
Note: When CTRL-V is mapped (e.g., to paste text) you can
often use CTRL-Q instead |i_CTRL-Q|.
@@ -206,6 +208,10 @@ CTRL-Q Same as CTRL-V.
Note: Some terminal connections may eat CTRL-Q, it doesn't
work then. It does work in the GUI.
+CTRL-SHIFT-V *i_CTRL-SHIFT-V* *i_CTRL-SHIFT-Q*
+CTRL-SHIFT-Q Works just like CTRL-V, but do not try to include the CTRL
+ modifier into the key.
+
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
be given to complete words or scroll the window. See
|i_CTRL-X| and |ins-completion|.