Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- " Set options and add mapping such that Vim behaves a lot like MS-Windows
- "
- " Maintainer: Bram Moolenaar <Bram@vim.org>
- " Last change: 2012 Jul 25
- " bail out if this isn't wanted (mrsvim.vim uses this).
- if exists("g:skip_loading_mswin") && g:skip_loading_mswin
- finish
- endif
- " set the 'cpoptions' to its Vim default
- if 1 " only do this when compiled with expression evaluation
- let s:save_cpo = &cpoptions
- endif
- set cpo&vim
- " set 'selection', 'selectmode', 'mousemodel' and 'keymodel' for MS-Windows
- behave mswin
- " backspace and cursor keys wrap to previous/next line
- set backspace=indent,eol,start whichwrap+=<,>,[,]
- " backspace in Visual mode deletes selection
- vnoremap <BS> d
- " 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
- map <C-V> "+gP
- map <S-Insert> "+gP
- cmap <C-V> <C-R>+
- cmap <S-Insert> <C-R>+
- " Pasting blockwise and linewise selections is not possible in Insert and
- " Visual mode without the +virtualedit feature. They are pasted as if they
- " were characterwise instead.
- " Uses the paste.vim autoload script.
- " Use CTRL-G u to have CTRL-Z only undo the paste.
- exe 'inoremap <script> <C-V> <C-G>u' . paste#paste_cmd['i']
- exe 'vnoremap <script> <C-V> ' . paste#paste_cmd['v']
- imap <S-Insert> <C-V>
- vmap <S-Insert> <C-V>
- " Use CTRL-Q to do what CTRL-V used to do
- noremap <C-Q> <C-V>
- " Use CTRL-S for saving, also in Insert mode
- noremap <C-S> :update<CR>
- vnoremap <C-S> <C-C>:update<CR>
- inoremap <C-S> <C-O>:update<CR>
- " For CTRL-V to work autoselect must be off.
- " On Unix we have two selections, autoselect can be used.
- if !has("unix")
- set guioptions-=a
- endif
- " CTRL-Z is Undo; not in cmdline though
- noremap <C-Z> u
- inoremap <C-Z> <C-O>u
- " CTRL-Y is Redo (although not repeat); not in cmdline though
- noremap <C-Y> <C-R>
- inoremap <C-Y> <C-O><C-R>
- " Alt-Space is System menu
- if has("gui")
- noremap <M-Space> :simalt ~<CR>
- inoremap <M-Space> <C-O>:simalt ~<CR>
- cnoremap <M-Space> <C-C>:simalt ~<CR>
- endif
- " CTRL-A is Select all
- noremap <C-A> gggH<C-O>G
- inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
- cnoremap <C-A> <C-C>gggH<C-O>G
- onoremap <C-A> <C-C>gggH<C-O>G
- snoremap <C-A> <C-C>gggH<C-O>G
- xnoremap <C-A> <C-C>ggVG
- " CTRL-Tab is Next window
- noremap <C-Tab> <C-W>w
- inoremap <C-Tab> <C-O><C-W>w
- cnoremap <C-Tab> <C-C><C-W>w
- onoremap <C-Tab> <C-C><C-W>w
- " CTRL-F4 is Close window
- noremap <C-F4> <C-W>c
- inoremap <C-F4> <C-O><C-W>c
- cnoremap <C-F4> <C-C><C-W>c
- onoremap <C-F4> <C-C><C-W>c
- " restore 'cpoptions'
- set cpo&
- if 1
- let &cpoptions = s:save_cpo
- unlet s:save_cpo
- endif
Add Comment
Please, Sign In to add comment