-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvimrc.windows
62 lines (56 loc) · 1.55 KB
/
vimrc.windows
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
" MS-Windows configuration, sourced by vimrc
" Author: Francis Niu
" Last Change: 2016-10-10
behave mswin
" Use <C-X><C-C><C-V> to cut/copy/paste {{{
vnoremap <C-X> "+x
vnoremap <C-C> "+y
map <C-V> "+gP
cmap <C-V> <C-R>+
exe 'inoremap <script> <C-V>' paste#paste_cmd['i']
exe 'vnoremap <script> <C-V>' paste#paste_cmd['v']
noremap <C-Q> <C-V>
"}}}
" Use <C-S> to save {{{
nmap <C-S> :update<CR>
imap <C-S> <C-O>:update<CR>
"}}}
" Diff solution {{{
set diffexpr=MyDiff()
function! MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
if &diff && has('gui_running')
au GUIEnter * simalt ~x
endif
"}}}
" GUI settings {{{
if has('gui_running')
set guioptions+=g
" Use <F1> to toggle menu
nmap <silent> <F1> :if &go =~# 'm' <Bar> set go-=m <Bar> else <Bar> set go+=m <Bar> endif<CR>
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
endif
"}}}
" vim:et:ts=2:sw=2:fdm=marker: