• vim.rc配置(deepin)


    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'
    
    " The following are examples of different formats supported.
    " Keep Plugin commands between vundle#begin/end.
    " plugin on GitHub repo
    Plugin 'tpope/vim-fugitive'
    " plugin from http://vim-scripts.org/vim/scripts.html
    " Plugin 'L9'
    " Git plugin not hosted on GitHub
    "Plugin 'git://git.wincent.com/command-t.git'
    " git repos on your local machine (i.e. when working on your own plugin)
    "Plugin 'file:///home/gmarik/path/to/plugin'
    " The sparkup vim script is in a subdirectory of this repo called vim.
    " Pass the path to set the runtimepath properly.
    Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
    " Install L9 and avoid a Naming conflict if you've already installed a
    " different version somewhere else.
    " Plugin 'ascenator/L9', {'name': 'newL9'}
    
    Plugin 'mhinz/vim-startify'
    
    
    Plugin 'aperezdc/vim-template'
    Plugin 'thinca/vim-quickrun'
    Plugin 'jiangmiao/auto-pairs'
    
    Plugin 'Chiel92/vim-autoformat'
    
    "" Theme Plugin
    Plugin 'sjl/badwolf'
    
    
    " 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
    
    
    "" display settings
    set t_Co=256
    syntax enable
    syntax on
    set background=dark
    colorscheme badwolf
    
    
    set cursorline
    set cursorcolumn
    set number
    
    
    " file encoding
    set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
    
    " enable mouse
    set mouse=a
    
    " indent
    set expandtab
    set tabstop=4
    set softtabstop=4
    set shiftwidth=4
    
    " fold
    set nofoldenable
    set foldmethod=syntax
    
    " search
    set hlsearch
    set incsearch
    
    " case
    set ignorecase
    set smartcase
    
    " keep 200 lines of command line history
    set history=200
    
    " Show a few lines of context around the cursor.
    " Note that this makes the text scroll
    " if you mouse-click near the start or end of the window.
    set scrolloff=5
    set sidescrolloff=5
    
    " display completion matches in a status line
    set wildmenu
    " display incomplete commands
    set showcmd
    
    " Allow backspacing over everything in insert mode.
    set backspace=eol,start,indent
    
    " Use ; as <Leader>
    let mapleader = ";"
    
    " Quick select whole file
    nnoremap <Leader>a  ggVG
    " Quick save or quit file
    nnoremap <Leader>w  :w<CR>
    nnoremap <Leader>q  :q<CR>
    nnoremap <Leader>fq  :q!<CR>
    
    
    " Copy to and paste from system clipboard
    nnoremap <Leader>y "+y
    nnoremap <Leader>p "+p
    nnoremap <Leader>fz ggVG"+y
    
    " vim smart autocomplete
    set wildmenu
    
    " man the information
    nnoremap <Leader>man :Man <cword><CR>
    
    
    
    
    """" Plugin settings
    " vim-startify
    let g:startify_files_number = 20
    
    " vim-template
    let g:templates_no_autocmd=1
    let g:templates_directory='~/.vim/templates'
    nnoremap <Leader>tp2 :Template tp2<CR>
    
    " vim-quickrun
    let g:quickrun_config = {
                   "_" : {
                       "outputter" : "message",
                   },
                }
    
    let g:quickrun_no_default_key_mappings = 1
    nmap <F5> <Plug>(quickrun)
    
    " YouCompleteMe
    let g:ycm_collect_identifiers_from_tags_files=1
    set tags+=~/.tags/stdcpp.tags
    let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
    let g:ycm_complete_in_comments=1
    let g:ycm_cache_omnifunc=0
    let g:ycm_seed_identifiers_with_syntax=1
    set completeopt-=preview
    
    " Airline
    let g:airline_theme='luna'
    let g:airline_powerline_fonts = 1
    if !exists('g:airline_symbols')
        let g:airline_symbols = {}
    endif
    let g:airline_symbols.linenr = '&'
    
    " AutoFormat
    let g:formatdef_my_cpp = '"astyle --style=google"'
    let g:formatters_cpp = ['my_cpp']
    "au BufWrite * :Autoformat
    nmap <Leader>fmt <Plug>(Autoformat)
    
    """ My Own Function
    func! CppDebug()
        exe "silent !g++ -O0 -std=c++14 -g % -o %<"
        exe "!gdb %<"
        exe "silent !rm -rf %<"
    endfunc
    nnoremap <Leader>db :call CppDebug()<CR>
    
    map <F6> :call Run()<CR>
    
    func! Run()
        exe "silent w"
        exe "silent !g++ % -o %<"
        exe "!./%<"
        exe "silent !rm %<"
    endf
    
  • 相关阅读:
    Linux指令面试题01-进程查看与终止
    微信网页授权
    腾讯视频怎么转成mp4模式 软件 工具 方法 最新【已解决】
    表操作,多对一、多对多、一对一
    初识数据库,基础sql语句
    IO多路复用
    协程:gevent
    线程:threading
    进程:multiprocessing
    利用socket与ssl模块读取网页内容
  • 原文地址:https://www.cnblogs.com/linruier/p/10035291.html
Copyright © 2020-2023  润新知