• 东拼西凑 vim配置-更新


    "=============================================================
    "=============================================================
    "
    " Vim基本配置
    "
    "=============================================================
    "=============================================================
    
    "关闭vi的一致性模式 避免以前版本的一些Bug和局限
    set nocompatible
    "配置backspace键工作方式
    set backspace=indent,eol,start
    
    
    "显示行号
    set number
    "设置在编辑过程中右下角显示光标的行列信息
    set ruler
    "当一行文字很长时取消换行
    "set nowrap
    
    "在状态栏显示正在输入的命令
    set showcmd
    
    "设置历史记录条数
    set history=1000
    
    "设置取消备份 禁止临时文件生成
    set nobackup
    set noswapfile
    
    "突出现实当前行列、高亮当前行列
    set cursorline
    set cursorcolumn
    
    "设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号
    set showmatch
    
    "设置C/C++方式自动对齐
    set autoindent
    set cindent
    
    "开启语法高亮功能
    syntax enable
    syntax on
    
    "指定配色方案为256色
    set t_Co=256
    
    "设置搜索时忽略大小写
    set ignorecase
    
    "设置在Vim中可以使用鼠标 防止在Linux终端下无法拷贝
    set mouse=a
    
    "设置Tab宽度
    set tabstop=4
    "设置自动对齐空格数
    set shiftwidth=4
    "设置按退格键时可以一次删除4个空格
    set softtabstop=4
    "设置按退格键时可以一次删除4个空格
    set smarttab
    "将Tab键自动转换成空格 真正需要Tab键时使用[Ctrl + V + Tab]
    set expandtab
    
    "设置编码方式
    set encoding=utf-8
    "自动判断编码时 依次尝试一下编码
    set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
    
    set guifont=Monaco 13
    set lines=35 columns=118
    
    "检测文件类型
    filetype on
    "针对不同的文件采用不同的缩进方式
    filetype indent on
    "允许插件
    filetype plugin on
    "启动智能补全
    filetype plugin indent on
    
     
    
    
    "===================================================================
    "===================================================================
    "
    " 自定义vim操作
    "
    "====================================================================
    "====================================================================
    map <F5> :call Do_OneFileMake()<CR>
    map <F2> :call Do_FileSave()<CR>
    map <F3> :call Do_FileSaveAndQuit()<CR>
    
    " === 当前文件保存 ===
    function Do_FileSave()
    let source_file_name=expand("%:t")
    if source_file_name==""
    echoh1 WarningMsg | echo "The file name is empty." | echoh1 None
    return
    endif
    
    execute "w"
    endfunction
    
    " === 当前文件保存退出 ===
    function Do_FileSaveAndQuit()
    let source_file_name=expand("%:t")
    if source_file_name==""
    echoh1 WarningMsg | echo "The file name is empty." | echoh1 None
    return
    endif
    
    execute "wq"
    endfunction
    
     
    
    function Do_OneFileMake()
    if expand("%:p:h")!=getcwd()
    echoh1 WarningMsg | echo "Failed to make. This's file is not in the current dir." | echoh1 None
    return
    endif
    
    let source_file_name=expand("%:t")
    
    if source_file_name==""
    echoh1 WarningMsg | echo "The file name is empty." | echoh1 None
    return
    endif
    
    if ( (&filetype!="c")&&(&filetype!="cc")&&(&filetype!="cpp")&&(&filetype!="python")&&(&filetype!="go") )
    echoh1 WarningMsg | echo "Please just make c、cc、cpp and go file." | echoh1 None
    return
    endif
    
     
    
    if &filetype=="c"
    exec "!gcc % -o %<"
    exec "! ./%<"
    elseif &filetype == "cpp" 
    exec "!g++ % -o %<" 
    exec "! %<" 
    elseif &filetype == "java" 
    exec "!javac %" 
    exec "!java %<" 
    elseif &filetype == "sh"
    :!% 
    elseif &filetype == "python"
    exec "!python %"
    endif
    
    execute "w"
    execute "silent make"
    
    endfunction
    
     
    
     
    
    
    "==============================================================
    "==============================================================
    "
    " Vundle插件管理和配置项
    "
    "==============================================================
    "==============================================================
    
    "开始使用Vundle的必须配置
    set nocompatible
    filetype off
    set rtp+=/home/geekc3t/.vim/bundle/Vundle.vim
    call vundle#begin()
    
    "=== 使用Vundle来管理Vundle ===
    Plugin 'gmarik/Vundle.vim'
    
    "=== PowerLine插件 状态栏增强展示 ===
    Plugin 'Lokaltog/vim-powerline'
    "vim有一个状态栏 加上powline则有两个状态栏
    set laststatus=2
    set t_Co=256
    let g:Powline_symbols='fancy'
    
    "=== The-NERD-tree 目录导航插件 ===
    Plugin 'vim-scripts/The-NERD-tree'
    "开启目录导航快捷键映射成n键
    nnoremap <silent> n :NERDTreeToggle<CR>
    "高亮鼠标所在的当前行
    let NERDTreeHighlightCursorline=1
    
    "=== Tagbar 标签导航 ===
    Plugin 'majutsushi/tagbar'
    "标签导航快捷键
    nmap <F9> :TagbarToggle<CR>
    let g:tagbar_autofocus = 1
    
    "=== A 头文件和实现文件自动切换插件 ===
    Plugin 'vim-scripts/a.vim'
    "将切换的快捷键映射成<F4> Qt中使用该快捷键习惯了
    nnoremap <silent> <F4> :A<CR>
    
    "=== ctrlp 文件搜索插件 不需要外部依赖包 ===
    Plugin 'kien/ctrlp.vim'
    "设置开始文件搜索的快捷键
    let g:ctrlp_map = '<leader>p'
    "设置默认忽略搜索的文件格式
    let g:ctrlp_custom_ignore = '.git$|.hg$|.svn$|.rvm$'
    "设置搜索时显示的搜索结果最大条数
    let g:ctrlp_max_height=15
    
    "=== YouCompleteMe 自动补全插件 迄今为止用到的最好的自动VIM自动补全插件===
    Plugin 'Valloric/YouCompleteMe'
    "自动补全配置插件路径
    let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
    "youcompleteme 默认tab s-tab 和自动补全冲突
    "let g:ycm_key_list_select_completion=['<c-n>']
    "let g:ycm_key_list_select_completion = ['<Down>']
    "let g:ycm_key_list_previous_completion=['<c-p>']
    "let g:ycm_key_list_previous_completion = ['<Up>']"
    
    "nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>
    "let g:UltiSnipsExpandTrigger="<c-j>"
    "当选择了一项后自动关闭自动补全提示窗口
    "let g:ycm_autoclose_preview_window_after_completion=1
    
    "=== 自动补全单引号、双引号、括号等 ===
    Plugin 'Raimondi/delimitMate'
    
    "自动补全单引号,双引号等
    Plugin 'Raimondi/delimitMate'
    " for python docstring ",优化输入
    au FileType python let b:delimitMate_nesting_quotes = ['"']
    
    "自动补全html/xml标签
    Plugin 'docunext/closetag.vim'
    let g:closetag_html_style=1
    
    "################# 具体语言语法高亮 ###############
    
    " for python.vim syntax highlight
    Plugin 'hdima/python-syntax'
    let python_highlight_all = 1
    
    " for golang
    Plugin 'jnwhiteh/vim-golang'
    Plugin 'Blackrush/vim-gocode'
    
    " for markdown
    Plugin 'plasticboy/vim-markdown'
    let g:vim_markdown_folding_disabled=1
    
    " for javascript
    Plugin "pangloss/vim-javascript"
    let g:html_indent_inctags = "html,body,head,tbody"
    let g:html_indent_script1 = "inc"
    let g:html_indent_style1 = "inc"
    
    "for jquery
    Plugin 'nono/jquery.vim'
    
    "for jinja2 highlight
    Plugin 'Glench/Vim-Jinja2-Syntax'
    
    "=== 主题solarized ===
    Plugin 'altercation/vim-colors-solarized'
    let g:solarized_termtrans=1
    let g:solarized_contrast="normal"
    let g:solarized_visibility="normal"
    
    "=== 主题 molokai ===
    Plugin 'tomasr/molokai'
    "设置主题
    colorscheme solarized
    set background=dark
    set t_Co=256
    
    "=== indentLine代码排版缩进标识 ===
    Plugin 'Yggdroot/indentLine'
    let g:indentLine_noConcealCursor = 1
    let g:indentLine_color_term = 0
    "缩进的显示标识|
    let g:indentLine_char = '¦'
    
    "=== vim-trailing-whitespace将代码行最后无效的空格标红 ===
    Plugin 'bronson/vim-trailing-whitespace'
    
    "=== markdown编辑插件 ===
    Plugin 'plasticboy/vim-markdown'
    let g:vim_markdown_folding_disabled=1
    
    "=== golang编辑插件 ===
    Plugin 'jnwhiteh/vim-golang'
    
    "括号显示增强
    Plugin 'kien/rainbow_parentheses.vim'
    let g:rbpt_colorpairs = [
     ['brown', 'RoyalBlue3'],
     ['Darkblue', 'SeaGreen3'],
     ['darkgray', 'DarkOrchid3'],
     ['darkgreen', 'firebrick3'],
     ['darkcyan', 'RoyalBlue3'],
     ['darkred', 'SeaGreen3'],
     ['darkmagenta', 'DarkOrchid3'],
     ['brown', 'firebrick3'],
     ['gray', 'RoyalBlue3'],
     ['black', 'SeaGreen3'],
     ['darkmagenta', 'DarkOrchid3'],
     ['Darkblue', 'firebrick3'],
     ['darkgreen', 'RoyalBlue3'],
     ['darkcyan', 'SeaGreen3'],
     ['darkred', 'DarkOrchid3'],
     ['red', 'firebrick3'],
     ]
    let g:rbpt_max = 40
    let g:rbpt_loadcmd_toggle = 0
    
     
    
    call vundle#end() 
    "Vundle配置必须 开启插件
    filetype plugin indent on
    
    "====================================================================
    "====================================================================
    " vim配色
    "
    "====================================================================
    "====================================================================
    

      

  • 相关阅读:
    (04)-Python3之--字典(dict)操作
    word2vec简单介绍
    基于websocket爬虫
    Python数据结构之链表(1)-->单链表
    词云wordcloud
    Neo4j--第一章
    AHP(层次分析法) 附Python示例代码(觉得还可以的,帮忙点个赞,谢谢)
    几种归一化方法(Normalization Method)python实现
    EM算法之Python
    通俗易懂的EM
  • 原文地址:https://www.cnblogs.com/or2-/p/3543466.html
Copyright © 2020-2023  润新知