zoukankan      html  css  js  c++  java
  • 将GVIM配置成一个Qt的开发环境(向IDE进军)

    1.先将我使用的配置文件内容贴在下面:

    set nocompatible
    source $VIMRUNTIME/vimrc_example.vim
    source $VIMRUNTIME/mswin.vim
    behave mswin

    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
    """""""""""""""""""""个人增加的配置""""""""""""""""""""""
    source d:/linux/vim/user.vim

    尽量不修改原来的启动文件,另开始一个文件加入自己的配置信息:
    user.vim的内容如下:


    "-------------------------------------------------------------------------------------
    " platform dependent
    "-------------------------------------------------------------------------------------
    if has("win32")
    let $VIMDATA = $VIM.'/vimdata'
    let $VIMFILES = $VIM.'/vimfiles'
    let PYTHON_BIN_PATH = 'd:/foo/python/python.exe' " ensure the path right
    set guifont=Courier_New:h16:b:cANSI
    else

    let $VIMDATA = $HOME.'/vimdata'
    let $VIMFILES = $HOME.'/.vim'
    let PYTHON_BIN_PATH = '/usr/bin/python'
    set guifont=Courier_New:h16:cANSI
    endif


    "-------------------------------------------------------------------------------------
    " Vim UI
    "-------------------------------------------------------------------------------------
    set linespace=1 " space it out a little more (easier to read)
    set wildmenu " type :h and press <Tab> to look what happens
    set ruler " always show current position along the bottom
    set cmdheight=1 " use 2 screen lines for command-line
    set lazyredraw " do not redraw while executing macros (much faster)
    set number " don't print line number
    set hid " allow to change buffer without saving
    set backspace=2 " make backspace work normal
    set whichwrap+=<,>,h,l " allow backspace and cursor keys to wrap
    set mouse=a " use mouse in all modes
    set shortmess=atI " shorten messages to avoid 'press a key' prompt
    set report=0 " tell us when anything is changed via :...
    set fillchars=vert:\ ,stl:\ ,stlnc:\
    " make the splitters between windows be blank


    "-------------------------------------------------------------------------------------
    " folding
    "-------------------------------------------------------------------------------------
    set foldenable " turn on folding
    set foldmethod=indent " make folding indent sensitive
    set foldlevel=100 " don't autofold anything (but I can still fold manually)
    set foldopen -=search " don't open folds when you search into them
    set foldopen -=undo " don't open folds when you undo stuff


    """""""""""""""""""""""""""""
    "WinManager Configure
    """""""""""""""""""""""""""""
    let g:winManagerWindowLayout='FileExplorer'
    nmap <F12> :WMToggle<cr>


    "-------------------------------------------------------------------------------------
    " plugin - taglist.vim
    "-------------------------------------------------------------------------------------
    "if has("win32")
    "let Tlist_Ctags_Cmd = $VIMFILES.'/ctags.exe' " location of ctags tool
    "else
    "let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
    "endif

    let Tlist_Sort_Type = "name" " order by
    let Tlist_Use_Right_Window = 1 " split to the right side of the screen
    let Tlist_Compart_Format = 1 " show small meny
    let Tlist_Exist_OnlyWindow = 1 " if you are the last, kill yourself
    let Tlist_File_Fold_Auto_Close = 0 " do not close tags for other files
    let Tlist_Enable_Fold_Column = 0 " do not show folding tree
    nnoremap <F4> :TlistToggle<cr>

    "-------------------------------------------------------------------------------------
    " plugin - minibufexpl.vim
    "-------------------------------------------------------------------------------------
    let g:miniBufExplTabWrap = 1 " make tabs show complete (no broken on two lines)
    let g:miniBufExplModSelTarget = 1


    "-------------------------------------------------------------------------------------
    " plugin - mru.vim (most recently used files)
    "-------------------------------------------------------------------------------------
    let MRU_File = $VIMFILES.'/_vim_mru_files' " which file to save mru entries
    let MRU_Max_Entries = 20 " max mru entries in _vim_mru_files

    "-------------------------------------------------------------------------------------
    "OmniCppComplete : C/C++ omni-completion with ctags database
    "-------------------------------------------------------------------------------------
    filetype plugin indent on
    set completeopt=longest,menu
    set tags=D:\Qt\4.5.2\src\tags

    2.我所用到的Plugin有如下所示:
      a.vim
      minibufexpl.vim
      mru.vim
      supertab.vim
      taglist.vim
      winfileexplorer.vim
      winmanager.vim
      wintagexplorer.vim
      word_complete.vim

    3.在使用ctags时我所用的命令如下:
    ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --excmd=number
    注意:生成的tags使用的是相对路径,故不能动到别处使用.


     

  • 相关阅读:
    Java基础系列1:Java基本类型与封装类型
    深入理解设计模式六大原则
    分布式系统ID生成方案汇总
    微服务入门
    Web攻击技术
    Jedis与Redisson选型对比
    Hystrix分布式系统限流、降级、熔断框架(二)
    可重入锁ReentrantLock实现原理
    Hystrix分布式系统限流、降级、熔断框架(一)
    Redis过期策略、持久化、集群与常见缓存问题
  • 原文地址:https://www.cnblogs.com/huangliujing/p/1545466.html
Copyright © 2011-2022 走看看