vim 配置

    技术2022-05-11  20

      1 "--------------------------常规设置-------------   2 set nocompatible   3 set backspace=indent,eol,start   4 set whichwrap=b,s,<,>,[,]   5 set cin   6 set cino=:0g0t(sus   7 set sm   8 set lbr   9 set ai  10 filetype on  11 filetype plugin indent on  12 set nu  13 colorscheme inkpot  14 set textwidth=80  15 set autoindent  16 source $VIMRUNTIME/vimrc_example.vim  17 source $VIMRUNTIME/mswin.vim  18 behave mswin  19 syntax enable  20 set diffexpr=MyDiff()  21 set linespace=5 "设置行距  22 set nobackup "nobackup  23 syntax on  24 "正确处理中文的折行和拼接  25 "set formatoptions+=mM  26 set formatoptions+=tcrqvmMB  27 set shiftwidth=6  28 set tabstop=4  29 let g:Signs_file_path_corey='c:/' " <<你可以修改成你的有读写权限的文件夹。  30 ":call Save_signs_to_file()   " 保存所有〔标记〕  31 ":call Load_signs_from_file() "恢复所有〔标记〕,但是做这个动作之前需要把你以前做过标记的所有文件重新打开。  32 set foldcolumn=2  33 set helplang=cn  34 "设置taglist  35 "let Tlist_Ctags_Cmd='E:/Emacs23.for.windows.20070710/Emacs/bin'  36 let Tlist_Use_Right_Window = 0  37 let Tlist_Display_Prototype = 1  38 "fast saving  39 "nmap w :w!  40 "nmap q :q  41 nmap <C-n> <esc>:bn<cr>  42 nmap <C-p> <esc>:bp<cr>  43 nmap <C-x><C-f> :e d:/CJworkspace/  44 nmap <C-x><C-s> :w!<cr>  45 imap <C-x><C-s> <esc>:w!<cr>  46 nmap <C-x><C-z> :q<cr>  47 imap <C-x><C-z> <esc>:q<cr>  48  autocmd BufEnter * call DoWordComplete()   49 "#####################################################  50 "--------------------------功能键的设置------------------------------  51 imap <F3> <ESC>/caL  52 nmap <F6> :set syntax=txt<cr>  53 nmap <silent> <F3> :silent call ToggleHLSearch()<CR>  54 map <F7> bi{<Esc>ea}<Esc>  55 nmap <F8> :Matrix<cr>  56 nmap <F9> <C-W>w  57 imap <F9> <ESC><F9>  58 nmap <F11> :%s= *$==<cr>  59 imap <F11> <ESC><F11>  60 nmap <F12> :e C:/Program Files/Vim/_vimrc<cr>  61 imap <F12> <ESC><F12>  62 "emacs设置  63 nmap <C-x>2 :split<cr>  64 imap <C-x><ESC>:split <cr>  65 nmap <C-x>3 :vsplit<cr>  66 imap <C-x><ESC>:vsplit <cr>  67 nmap <C-x>1 :q<cr>  68 imap <C-x>c :<ESC>q<cr>  69 nmap <C-x>c :q<cr>  70 imap <C-x><ESC>:q<cr>  71 imap <C-k> D  72 nmap <C-k> <ESC>D  73 imap <M-k> <esc>d0  74 nmap <m-k> d0  75 imap <C-a> <ESC>0  76 nmap <C-a> 0  77 imap <C-e> <ESC>$  78 nmap <C-e> $  79 imap <C-x><ESC>:e E:/latex/template  80 nmap <C-x>l :e E:/latex/template  81  82  83 nmap <C-x>m :e C:/math/MATLAB6p5/work  84  85 imap <C-x>m :e <ESC>C:/math/MATLAB6p5/work  86 "--------------------------函数设置------------------------------  87 let g:Tex_DefaultTargetFormat = 'pdf'  88 let g:Tex_ViewRule_pdf = 'Acrobat.exe'  89 function MyDiff()  90   let opt = '-a --binary '  91   if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif  92   if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif  93   let arg1 = v:fname_in  94   if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif  95   let arg2 = v:fname_new  96   if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif  97   let arg3 = v:fname_out  98   if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif  99   let eq = '' 100   if $VIMRUNTIME =~ ' ' 101     if &sh =~ '/<cmd' 102       let cmd = '""' . $VIMRUNTIME . '/diff"' 103       let eq = '"' 104     else 105       let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '/diff"' 106     endif 107   else 108     let cmd = $VIMRUNTIME . '/diff' 109   endif 110   silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq 111 endfunction 112  function ToggleHLSearch()       113              if &hls 114                 set nohls 115           else 116                   set hls 117           endif 118  endfunction 119 " Viki 120 let g:vikiNameSuffix=".viki" 121 augr viki 122 au! 123 autocmd! BufRead,BufNewFile *.viki set filetype=viki 124 augr END 125 " Viki 126 let g:vikiNameSuffix=".viki" 127 autocmd! BufRead,BufNewFile *.viki 128             /  set fenc=cp936 129             /set ft=viki 130             /call ChineseMode() 131 function ChineseMode() 132     set imactivatekey=C-space 133     set noimcmdline 134     set iminsert=2 135     set imsearch=2 136     setlocal nospell 137 endfunction 138 139 if &bg == "dark" " // 根据你的背景色风格来设置不同的书签颜色 140  highlight SignColor ctermfg=white ctermbg=blue guifg=wheat guibg=peru 141 else            " // 主要就是修改guibg的值来设置书签的颜色 142  highlight SignColor ctermbg=white ctermfg=blue guibg=grey guifg=RoyalBlue3 143 endif 144 map <silent> <leader>tl :TlistToggle<cr> 145    let Tlist_Ctags_Cmd='ctags' 146    let Tlist_Ctags_Cmd='/C:/Program Files/Vim/ctags57/ctags.exe' 147 "   let Tlist_Show_One_File = 1   "不同时显示多个文件的tag,只显示当前文件的 148    let Tlist_Exit_OnlyWindow = 1   "如果taglist窗口是最后一个窗口,则退出vim 149 au BufNewFile,BufRead *.t2t set ft=txt2tags 150 151 152 153 " multi-encoding setting 154 if has("multi_byte") 155 "set bomb 156 set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1 157 " CJK environment detection and corresponding setting 158 if v:lang =~ "^zh_CN" 159 " Use cp936 to support GBK, euc-cn == gb2312 160 set encoding=cp936 161 set termencoding=cp936 162 set fileencoding=cp936 163 elseif v:lang =~ "^zh_TW" 164 " cp950, big5 or euc-tw 165 " Are they equal to each other? 166 set encoding=big5 167 set termencoding=big5 168 set fileencoding=big5 169 elseif v:lang =~ "^ko" 170 " Copied from someone's dotfile, untested 171 set encoding=euc-kr 172 set termencoding=euc-kr 173 set fileencoding=euc-kr 174 elseif v:lang =~ "^ja_JP" 175 " Copied from someone's dotfile, untested 176 set encoding=euc-jp 177 set termencoding=euc-jp 178 set fileencoding=euc-jp 179 endif 180 " Detect UTF-8 locale, and replace CJK setting if needed 181 if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" 182 set encoding=utf-8 183 set termencoding=utf-8 184 set fileencoding=utf-8 185 endif 186 else 187 echoerr "Sorry, this version of (g)vim was not compiled with multi_byte" 188 endif 189 190

    最新回复(0)