zoukankan      html  css  js  c++  java
  • vim安装与配置

    vim 8.0

    安装

    git clone https://github.com/vim/vim.git

    sudo apt-get install libncurses5-dev  # vim依赖一个ncurses的古老库

    ./configure --prefix=~/usr/vim-8.0/ --enable-pythoninterp --enable-multibyte --enable-rubyinterp

    make

    make install

    查看当前vim环境

    :scriptname 查看加载的配置文件

    :verbose map [key_name] 查看key_name按键映射

    :verbose set 查看所有set,如set paste

    :verbose history 查看历史命令

    :function [fun-name] 列出函数

    F5运行当前脚本

    map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
        if &filetype == 'c'
            :!if gcc % -o %<; then time ./%<; fi
        elseif &filetype == 'cpp'
            :!if g++ % -o %<; then time ./%<; fi
        elseif &filetype == 'sh'
            :!time bash %
        elseif &filetype == 'python'
            :!time python %
        endif
    endfunc

    Vundle插件管理器

    1 下载vundle

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

    2 配置.vimrc

    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()
    Plugin 'VundleVim/Vundle.vim'
    
    " Keep Plugin commands between vundle#begin/end.
    call vundle#end()            " required
    filetype plugin indent on    " required

    vim基本配置

    从vim的default.vim中修改的

    set nocompatible
    set backspace=indent,eol,start  "Allow backspacing over everything in insert mode.
    set history=200        " keep 200 lines of command line history
    set ruler        " show the cursor position all the time
    set showcmd        " display incomplete commands
    set wildmenu        " display completion matches in a status line
    set hlsearch            " hightlight searched phase
    set ttimeout        " time out for key codes
    set ttimeoutlen=100    " wait up to 100ms after Esc for special key
    set display=truncate    " Show @@@ in the last line if it is truncated.
    set scrolloff=5         "Show a few lines of context around the cursor
    set incsearch           " Do incremental searching when it's possible to timeout.
    set mouse=a
    set number
    set expandtab
    set tabstop=4
    set shiftwidth=4
    set softtabstop=4
    
    syntax on
    
    " Don't use Ex mode, use Q for formatting.  Revert with ":unmap Q".
    map Q gq
    
    
    " Only do this part when compiled with support for autocommands.
    if has("autocmd")
    
      " Enable file type detection.
      " Use the default filetype settings, so that mail gets 'tw' set to 72,
      " 'cindent' is on in C files, etc.
      " Also load indent files, to automatically do language-dependent indenting.
      " Revert with ":filetype off".
      filetype plugin indent on
    
      " Put these in an autocmd group, so that you can revert them with:
      " ":augroup vimStartup | au! | augroup END"
      augroup vimStartup
        au!
    
        " When editing a file, always jump to the last known cursor position.
        " Don't do it when the position is invalid or when inside an event handler
        " (happens when dropping a file on gvim).
        autocmd BufReadPost *
           if line("'"") >= 1 && line("'"") <= line("$") |
             exe "normal! g`"" |
           endif
    
      augroup END
    
    endif " has("autocmd")
    
    " Convenient command to see the difference between the current buffer and the
    " file it was loaded from, thus the changes you made.
    " Only define it when not defined already.
    " Revert with: ":delcommand DiffOrig".
    if !exists(":DiffOrig")
      command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
               | wincmd p | diffthis
    endif
    
    if has('langmap') && exists('+langremap')
      " Prevent that the langmap option applies to characters that result from a
      " mapping.  If set (default), this may break plugins (but it's backward
      " compatible).
      set nolangremap
    endif

    YouCompleteMe

    1. vundlle管理YCM,在.vimrc相应位置加上Plugin 'Valloric/YouCompleteMe'
    2. 打开vim,运行:PluginInstall,安装插件
    3. 进入~/.vim/bundle/YouCompleteMe/,运行./install.py(--clang-completer支持C系列语言补全,需要安装llvm+clang)

    可能需要注意:

    1. vim python support
    2. git用来下载YCM的问题
    3. cmake默认编译器的问题(export CC和CXX到高版本的编译器)
  • 相关阅读:
    C++基础学习笔记----第十三课(操作符重载-下)
    SSH搭建
    java(17)
    英语语法检查软件
    Ubuntu sudo apt-get 安装下载更新软件包命令详解
    MATLAB:控制系统模型变换
    solvepnp
    MATLAB:控制系统模型变换
    MATLAB实现传递函数
    visual studio编译cmake opencv一直出错
  • 原文地址:https://www.cnblogs.com/qiusuo/p/6257581.html
Copyright © 2011-2022 走看看