标签:
Till now, several days passed before I started learning to compile a self-designed gvim.. It is no good experience, but also full of discoveries.
First of all, I want to point out that all the plugins vim loaded or wish to be loaded needs to have the same bit-width. That means, using 32 bits of vim requires all its components including its plugins to be 32 bits.
Here‘s my _vimrc file: (it‘s only for my own usage, very likely to have flaws.. and it‘s for Win usage)
1 set nocompatible 2 filetype off 3 4 set rtp+=$VIM/vimfiles/bundle/Vundle.vim/ 5 call vundle#rc(‘$VIM/vimfiles/bundle/‘) 6 7 Plugin ‘VundleVim/Vundle.vim‘ 8 Plugin ‘jiangmiao/auto-pairs‘ 9 Plugin ‘bufexplorer.zip‘ 10 Plugin ‘Lokaltog/vim-powerline‘ 11 Plugin ‘wesleyche/SrcExpl‘ 12 Plugin ‘std_c.zip‘ 13 Plugin ‘junegunn/limelight.vim‘ 14 Plugin ‘sickill/vim-pasta‘ 15 Plugin ‘scrooloose/syntastic‘ 16 Plugin ‘xuhdev/SingleCompile‘ 17 Plugin ‘Valloric/YouCompleteMe‘, {‘do‘:‘./install.py‘} 18 19 let c_cpp_comments=0 20 21 filetype plugin indent on 22 23 noremap <c-k> <c-w>k 24 noremap <c-j> <c-w>j 25 noremap <c-h> <c-w>h 26 noremap <c-l> <c-w>l 27 28 filetype on 29 filetype plugin on 30 filetype plugin indent on 31 let g:ycm_auto_trigger = 1 32 let g:ycm_min_num_of_chars_for_completion = 2 33 set t_Co=256 34 set backspace=2 35 set smartindent 36 set expandtab 37 set tabstop=4 38 set shiftwidth=4 39 set smarttab 40 set foldenable 41 set foldmethod=indent 42 set autoread 43 set ignorecase 44 set smartcase 45 46 imap <c-k> <Up> 47 imap <c-j> <Down> 48 imap <c-h> <Left> 49 imap <c-l> <Right> 50 51 set nu 52 set laststatus=2 53 set cmdheight=2 54 set cursorline 55 set nowrap 56 colorscheme Tomorrow-Night-Eighties 57 set shortmess=atI 58 set guioptions-=m 59 set guioptions-=T 60 set guioptions-=r 61 set guioptions-=L 62 set encoding=utf-8 63 set fenc=utf-8 64 set fileencodings=utf-8,latin-1,ascii,gbk,usc-bom,cp936,Shift-JIS 65 set ff=unix 66 set fileformats=unix,dos,mac 67 68 language messages zh_CN.utf-8 69 70 nnoremap <c-s> :w<CR> 71 nnoremap <c-c> ESC 72 nnoremap <c-c> :nohl<CR> 73 nnoremap <c-F9> :SCCompile<CR> 74 nnoremap <c-F10> :SCCompileRun<CR> 75 nnoremap <c-F11> :SCChooseCompiler<CR> 76 let g:ycm_min_num_identifier_candidate_chars = 2 77 let g:ycm_semantic_triggers = { 78 \ ‘c‘ : [‘->‘, ‘.‘], 79 \ ‘objc‘ : [‘->‘, ‘.‘, ‘re!\[[_a-zA-Z]+\w*\s‘, ‘re!^\s*[^\W\d]\w*\s‘, 80 \ ‘re!\[.*\]\s‘], 81 \ ‘ocaml‘ : [‘.‘, ‘#‘], 82 \ ‘cpp,objcpp‘ : [‘->‘, ‘.‘, ‘::‘,‘re!\w+‘], 83 \ ‘perl‘ : [‘->‘], 84 \ ‘php‘ : [‘->‘, ‘::‘], 85 \ ‘cs,java,javascript,typescript,d,python,perl6,scala,vb,elixir,go‘ : [‘.‘], 86 \ ‘ruby‘ : [‘.‘, ‘::‘], 87 \ ‘lua‘ : [‘.‘, ‘:‘], 88 \ ‘erlang‘ : [‘:‘], 89 \ } 90 autocmd InsertLeave * :pclose
note that some maps of keys might be in collision, use :verbose i/nmap <c-*> to check it out!
It‘s not a big problem until I came across Valloric/YouCompleteMe.. This plugin needs to be compiled before utilization..
4-step preparations: (Of course, python is previously installed on your machine.. and it‘s not included in the 4 preparations)
Notes: to get ycm from git, just use vundle to manage, type :PluginInstall (It might be :BundleInstall or whatever else..), wait till done
to get cmake, download a binary and install it, remember to add its bin path to env-path..
to get clang, download a binary according to system and use 7z to unzip it to $YCM/ycm_temp/llvm_root/
Then we have to build the ycm app:
https://github.com/Valloric/YouCompleteMe#windows
Other systems guides can also be found there...
Done.
gvim work notes.. a few days work on 64bit vim and plugin compilations
标签:
原文地址:http://www.cnblogs.com/sansna/p/5474015.html