首页 > 代码库 > vim 的配置与前期准备

vim 的配置与前期准备

1.安装 vim gcc make clang 

2.将以下代码复制进自己的 .vimrc中

"----------------------------------------"        vim 配置"       2014 11 23"----------------------------------------"set nocompatible              " be iMproved, requiredfiletype off                  " required" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin ‘gmarik/Vundle.vim‘ Plugin ‘taglist.vim‘ Plugin ‘minibufexpl.vim‘ Plugin ‘winmanager‘ Plugin ‘clang-complete‘Plugin ‘supertab‘Plugin ‘scrooloose/syntastic‘Plugin ‘Lokaltog/vim-powerline‘Plugin ‘WolfgangMehner/vim-plugins‘Bundle ‘altercation/vim-colors-solarized‘call vundle#end()            " required"----------基本设置----------------------filetype plugin indent onsyntax on                        " 使用语法高亮set autoread                     " 使用不兼容 vi 的模式set autoindent                " 设置自动对齐(缩进)set smartindent                    " 智能对齐方式set wrap              " 自动换行set linebreak              " 整词换行set cindent                   " 使用 C/C++ 语言的自动缩进方式set backspace=2               " 设置退格键可用set mouse=a                   " 使用鼠标set number                   " 显示行号set cul                          " 显示当前行下划线set tabstop=8                    " 设置制表符(tab键)的宽度set softtabstop=8                " 设置软制表符的宽度set expandtab             " Tab替换空格scriptencoding utf-8             " 设置编码set cursorline                    " 高亮当前行                   set nobackupset noswapfile                   "禁止生成临时文件set wildmenu                     "补全命令set scrolloff=4                  " 光标移动到buffer的顶部和底部时保持3行距离,再往下移动页面时,光标与最后一行始终保持4格的距"----------------tags------------------"---------------------------------------""-------------------- MiniBufferExplorer 的设置----------------------let g:miniBufExplMapWindowNavVim=1        " 按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口let g:miniBufExplMapWindowNavArrows=1         " 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口let g:miniBufExplMapCTabSwitchBufs=1         " Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口let g:miniBufExplModSelTarget=1            " 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer" 设置分屏浏览let Tlist_Show_One_File=0let Tlist_Exit_OnlyWindow=1let g:winManagerWindowLayout=‘FileExplorer|TagList‘nmap wm :WMToggle<CR>"------------clang-complete-----------------"----------------------------------------------set completeopt=longest,menulet g:clang_auto_select=1let g:clang_complete_select=1let g:clang_complete_copen=1let g:clant_periodic_quickfix=1let g:clang_snippets=0  let g:clang_close_preview=1  let g:clang_use_library=1 "-------------设置超级TAB的补全--------------let g:SuperTabRetainCompletionType=0let g:SuperTabDefaultCompletionType="<C-X><C-U>""------------------------------------------------""------------------- powerline 配置-------------------set nocompatibleset laststatus=2set encoding=utf-8set t_Co=256set guifont=PowerlineSymbols\ for\ let g:Powerline_symbols=‘unicode‘let g:Powerline_stl_path_style=‘full‘"------------------------------------------------syntax enableset background=darkcolorscheme solarizedset foldenable      " 允许折叠 set fdm=markerset foldcolumn=0set foldlevel=3 "关于折叠的一些设置,但看不懂" 按下F5,在当前目录递归生成tag文件map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<CR><CR>imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q<CR><CR>" vim 启动时自动载入以下tags文件set tags=tagsset tags+=./tags" 用就去生成,去放"set tags+=/usr/local/src/linux-3.12.6/tagsset tags+=/usr/include/Linux/tagsset tags+=/usr/include/tagsset tags+=/usr/include/sys/tagsset tags+=./tags" QuickFix 插件的设置" 按下F6,执行make编译程序,并打开quickfix窗口,显示编译信息map <F6> :make<CR><CR><CR> :copen<CR><CR>" 按下F7,光标移到上一个错误所在的行map <F7> :cp<CR>" 按下F8,光标移到下一个错误所在的行map <F8> :cn<CR>" 按下F9,执行make cleanmap <F9> :make clean<CR><CR><CR>" 以下的映射是使上面的快捷键在插入模式下也能用imap <F6> <ESC>:make<CR><CR><CR> :copen<CR><CR>imap <F7> <ESC>:cp<CR>imap <F8> <ESC>:cn<CR>imap <F9> <ESC>:make clean<CR><CR><CR>"C,C++ 按F2编译运行map <F2> :call CompileRunGcc()<CR>func! CompileRunGcc()    exec "w"    if &filetype == ‘c‘          exec "!gcc -g  % -o %<"          exec ":copen"    elseif &filetype == ‘cpp‘          exec "!g++ % -o %<"          exec "! ./%<"    elseif &filetype == ‘java‘           exec "!javac %"           exec "!java %<"    elseif &filetype == ‘sh‘          :!./%    elseif &filetype == ‘py‘          exec "!python %"          exec "!python %<"    endifendfunc"插入模式下的非递归映射,自动补全的映射inoremap <C-F>  <C-X><C-D>" 预防手误cnoremap Q! q!cnoremap Q1 q!command  Q  qcommand  Wq wqcommand  WQ wqcommand  W  w

  3.退出。重新进入,并且在命令行中输入 PluginInstall 可以按前几个字母,然后按table 自动补全查找

      4. 等待下载完成

      5. 结束

vim 的配置与前期准备