Created
February 28, 2012 12:36
-
-
Save anonymous/1932294 to your computer and use it in GitHub Desktop.
Vim windows settings
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Set options and add mapping such that Vim behaves a lot like MS-Windows | |
" | |
" Maintainer: Bram Moolenaar <Bram@vim.org> | |
" Last change: 2006 Apr 02 | |
" 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. | |
exe 'inoremap <script> <C-V>' 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment