diff options
author | Shixian Li <34830785+znsoooo@users.noreply.github.com> | 2024-03-03 23:41:46 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-03 16:41:46 +0100 |
commit | d9ebd46bd090c598adc82e683b4462909f2d4ea5 (patch) | |
tree | b5b55065724ff01ba73b8f6f09375c17838a4692 | |
parent | d3eae7bc116297f70220f21ded436ed0a88066d8 (diff) |
runtime(mswin): Use unnamed register when clipboard not working (#13813)
* Use unnamed register while clipboard not exist
* Do not need to specify the unnamed register explicitly
fixes: #13809
Signed-off-by: Shixian Li <lsx7@sina.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r-- | runtime/mswin.vim | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/runtime/mswin.vim b/runtime/mswin.vim index 1c28cadac0..3c10c0a6d8 100644 --- a/runtime/mswin.vim +++ b/runtime/mswin.vim @@ -1,7 +1,7 @@ " Set options and add mapping such that Vim behaves a lot like MS-Windows " " Maintainer: The Vim Project <https://github.com/vim/vim> -" Last Change: 2023 Aug 10 +" Last Change: 2024 Mar 3 " Former Maintainer: Bram Moolenaar <Bram@vim.org> " Bail out if this isn't wanted. @@ -24,7 +24,7 @@ set backspace=indent,eol,start whichwrap+=<,>,[,] " backspace in Visual mode deletes selection vnoremap <BS> d -if has("clipboard") +if has("clipboard_working") " CTRL-X and SHIFT-Del are Cut vnoremap <C-X> "+x vnoremap <S-Del> "+x @@ -39,6 +39,23 @@ if has("clipboard") cmap <C-V> <C-R>+ cmap <S-Insert> <C-R>+ +else + " Use unnamed register while clipboard not exist + + " CTRL-X and SHIFT-Del are Cut + vnoremap <C-X> x + vnoremap <S-Del> x + + " CTRL-C and CTRL-Insert are Copy + vnoremap <C-C> y + vnoremap <C-Insert> y + + " CTRL-V and SHIFT-Insert are Paste + noremap <C-V> gP + noremap <S-Insert> gP + + inoremap <C-V> <C-R>" + inoremap <S-Insert> <C-R>" endif " Pasting blockwise and linewise selections is not possible in Insert and @@ -47,7 +64,7 @@ endif " Uses the paste.vim autoload script. " Use CTRL-G u to have CTRL-Z only undo the paste. -if 1 +if has("clipboard_working") exe 'inoremap <script> <C-V> <C-G>u' . paste#paste_cmd['i'] exe 'vnoremap <script> <C-V> ' . paste#paste_cmd['v'] endif |