• Mac vim“装逼”配置


    配置c++ 等编程语言补全等

    from blog http://www.cnblogs.com/xiaobo-Linux/p/8909402.html

    1. 安装 macvim

    brew install macvim

    将vim替换为mvim

    alias vim='mvim -v'

    2.安装Vundle

    git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

    输入 vim

    shift + : 

    输入

    :PluginInstall

    自动安装 YouCompleteMe

    3.安装cmake

    brew install CMake

    4.配置YouCompleteMe

    cd ~/.vim/bundle/YouCompleteMe
    安装所有编程语言支持
    ./install.py  --all

    5. vim .vimrc

    " Set vundle settings here
    " git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
    set nocompatible              " be iMproved, required
    filetype off                  " required
    
    " set the runtime path to include Vundle and initialize
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()
    " alternatively, pass a path where Vundle should install plugins
    "call vundle#begin('~/some/path/here')
    
    " let Vundle manage Vundle, required
    "Plugin 'VundleVim/Vundle.vim'        "https://github.com/VundleVim/Vundle.vim
    Bundle 'Valloric/YouCompleteMe'
    Plugin 'gmarik/Vundle.vim'
    " Custom plugins
    Plugin 'scrooloose/nerdtree'         "https://github.com/scrooloose/nerdtree
    Plugin 'MattesGroeger/vim-bookmarks' "https://github.com/MattesGroeger/vim-bookmarks
    Plugin 'maciakl/vim-neatstatus'      "https://github.com/maciakl/vim-neatstatus
    
    " All of your Plugins must be added before the following line
    call vundle#end()            " required
    filetype plugin indent on    " required
    " To ignore plugin indent changes, instead use:
    "filetype plugin on
    "
    " Brief help
    " :PluginList       - lists configured plugins
    " :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
    " :PluginSearch foo - searches for foo; append `!` to refresh local cache
    " :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
    "
    " see :h vundle for more details or wiki for FAQ
    " Put your non-Plugin stuff after this line
    
    
    " Vim5 and later versions support syntax highlighting. Uncommenting the
    " following enables syntax highlighting by default.
    if has("syntax")
        syntax on   " 语法高亮
    endif
    " Uncomment the following to have Vim jump to the last position when
    " reopening a file
    if has("autocmd")
        au BufReadPost * if line("'"") > 1 && line("'"") <= line("$") | exe "normal! g'"" | endif
    "have Vim load indentation rules and plugins according to the detected
    "filetype on
    "filetype plugin indent on
    endif
    
    set number
    set autoindent
    set softtabstop=4    " 设置软制表符的宽度
    set shiftwidth=4     " (自动) 缩进使用的4个空格
    set tabstop=4        " 设置制表符(tab键)的宽度
    set expandtab        " 行首tab转换为4个空格
    set cindent          " 使用 C/C++ 语言的自动缩进方式
    set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s     "设置C/C++语言的具体缩进方式
    set showmatch        " 设置匹配模式,显示匹配的括号
    set linebreak        " 整词换行
    set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去
    set ruler            " 标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上
    set showcmd          " 命令行显示输入的命令
    set showmode         " 命令行显示vim当前模式
    set incsearch        " 输入字符串就显示匹配点
    set enc=utf-8        " 文件编码
    set cursorline
    highlight CursorLine   cterm=NONE ctermbg=blue ctermfg=white guibg=NONE guifg=NONE
    " highlight CursorColumn cterm=NONE ctermbg=green ctermfg=NONE guibg=NONE guifg=NONE
    
    " NERDTree settings
    autocmd StdinReadPre * let s:std_in=1
    autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
    
    " vim-bookmarks settings
    let g:bookmark_auto_close = 1
    let g:bookmark_save_per_working_dir = 1
    let g:bookmark_highlight_lines = 1
    let g:bookmark_center = 1
    let g:bookmark_location_list = 1
    
    " key mapping
    :inoremap { {}<ESC>i
    :map <f2> :NERDTreeToggle<CR>
  • 相关阅读:
    常用加密算法的Java实现总结(二) ——对称加密算法DES、3DES和AES
    常用加密算法的Java实现(一) ——单向加密算法MD5和SHA
    在服务器上用Fiddler抓取HTTPS流量
    org.apache.commons.lang下的工具类
    Spring-bean作用域scope详解
    Tomcat性能调优方案
    JavaScript 闭包究竟是什么
    JavaScript跨域总结与解决办法
    《JAVA与模式》之简单工厂模式
    hibernate缓存机制详细分析
  • 原文地址:https://www.cnblogs.com/zhaocundang/p/8909402.html
Copyright © 2020-2023  润新知