• vim配置文件


    备份一下用的比较顺手的配置文件

    set sw=4
    set ts=4
    set et
    set smarttab
    set smartindent
    set lbr
    set fo+=mB
    set sm
    set selection=inclusive
    set wildmenu
    set mousemodel=popup

    au FileType php setlocal dict+=~/.vim/dict/php_funclist.dict
    au FileType css setlocal dict+=~/.vim/dict/css.dict
    au FileType c setlocal dict+=~/.vim/dict/c.dict
    au FileType cpp setlocal dict+=~/.vim/dict/cpp.dict
    au FileType scale setlocal dict+=~/.vim/dict/scale.dict
    au FileType javascript setlocal dict+=~/.vim/dict/javascript.dict
    au FileType html setlocal dict+=~/.vim/dict/javascript.dict
    au FileType html setlocal dict+=~/.vim/dict/css.dict

    "
    "syntastic相关
    execute pathogen#infect()
    let g:syntastic_python_checkers=['pylint']
    let g:syntastic_php_checkers=['php', 'phpcs', 'phpmd']
    "golang
    "Processing... % (ctrl+c to stop)
    let g:fencview_autodetect=0
    set rtp+=$GOROOT/misc/vim
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 显示相关
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    syntax on
    set cul "高亮光标所在行
    set cuc
    set shortmess=atI " 启动的时候不显示那个援助乌干达儿童的提示
    set go= " 不要图形按钮
    "color desert " 设置背景主题
    color ron " 设置背景主题
    "color torte " 设置背景主题
    "set guifont=Courier_New:h10:cANSI " 设置字体
    "autocmd InsertLeave * se nocul " 用浅色高亮当前行
    autocmd InsertEnter * se cul " 用浅色高亮当前行
    set ruler " 显示标尺
    set showcmd " 输入的命令显示出来,看的清楚些
    "set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界(不建议)
    set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离
    set statusline=%F%m%r%h%w [FORMAT=%{&ff}] [TYPE=%Y] [POS=%l,%v][%p%%] %{strftime("%d/%m/%y - %H:%M")} "状态行显示的内容
    set laststatus=2 " 启动显示状态行(1),总是显示状态行(2)
    "set foldenable " 允许折叠
    ""set foldmethod=manual " 手动折叠
    set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
    " 显示中文帮助
    if version >= 603
    set helplang=cn
    set encoding=utf-8
    endif
    " 自动缩进
    set autoindent
    set cindent
    " Tab键的宽度
    set tabstop=4
    " 统一缩进为4
    set softtabstop=4
    set shiftwidth=4
    " 不要用空格代替制表符
    set expandtab
    " 在行和段开始处使用制表符
    set smarttab
    " 显示行号
    set number
    " 历史记录数
    set history=1000
    "搜索逐字符高亮
    set hlsearch
    set incsearch
    "语言设置
    set langmenu=zh_CN.UTF-8
    set helplang=cn
    " 总是显示状态行
    set cmdheight=2
    " 侦测文件类型
    filetype on
    " 载入文件类型插件
    filetype plugin on
    " 为特定文件类型载入相关缩进文件
    filetype indent on
    " 保存全局变量
    set viminfo+=!
    " 带有如下符号的单词不要被换行分割
    set iskeyword+=_,$,@,%,#,-
    " 字符间插入的像素行数目

    "markdown配置
    au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=mkd
    au BufRead,BufNewFile *.{go} set filetype=go
    au BufRead,BufNewFile *.{js} set filetype=javascript
    "rkdown to HTML
    nmap md :!~/.vim/markdown.pl % > %.html <CR><CR>
    nmap fi :!firefox %.html & <CR><CR>
    nmap cc
    vmap cc

    "将tab替换为空格
    nmap tt :%s/ / /g<CR>

    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    """""新文件标题
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "新建.c,.h,.sh,.java文件,自动插入文件头
    autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java,*.py exec ":call SetTitle()"
    ""定义函数SetTitle,自动插入文件头
    func SetTitle()
    "如果文件类型为.sh文件
    if &filetype == 'sh'
    call setline(1,"#!/bin/bash")
    call append(line("."), "")
    elseif &filetype == 'python'
    call setline(1,"#!/usr/bin/env python")
    call append(line("."),"# coding=utf-8")
    call append(line(".")+1, "")
    " elseif &filetype == 'mkd'
    " call setline(1,"<head><meta charset="UTF-8"></head>")
    else
    call setline(1, "/*************************************************************************")
    call append(line("."), " > File Name: ".expand("%"))
    call append(line(".")+1, " > Author: ma6174")
    call append(line(".")+2, " > Mail: ma6174@163.com ")
    call append(line(".")+3, " > Created Time: ".strftime("%c"))
    call append(line(".")+4, " ************************************************************************/")
    call append(line(".")+5, "")
    endif
    if &filetype == 'cpp'
    call append(line(".")+6, "#include<iostream>")
    call append(line(".")+7, "using namespace std;")
    call append(line(".")+8, "")
    endif
    if &filetype == 'c'
    call append(line(".")+6, "#include<stdio.h>")
    call append(line(".")+7, "")
    endif
    " if &filetype == 'java'
    " call append(line(".")+6,"public class ".expand("%"))
    " call append(line(".")+7,"")
    " endif
    "新建文件后,自动定位到文件末尾
    endfunc
    autocmd BufNewFile * normal G


    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "键盘命令
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    :nmap <silent> <F9> <ESC>:Tlist<RETURN>
    map! <C-Z> <Esc>zzi
    map! <C-O> <C-Y>,
    map <C-A> ggVG$"+y
    map <F12> gg=G
    map <C-w> <C-w>w
    imap <C-k> <C-y>,
    imap <C-j> <ESC>
    " 选中状态下 Ctrl+c 复制
    "map <C-v> "*pa
    imap <C-v> <Esc>"*pa
    imap <C-a> <Esc>^
    imap <C-e> <Esc>$
    vmap <C-c> "+y
    set mouse=v
    "set clipboard=unnamed
    "去空行
    nnoremap <F2> :g/^s*$/d<CR>
    "比较文件
    nnoremap <C-F2> :vert diffsplit
    "nnoremap <Leader>fu :CtrlPFunky<Cr>
    "nnoremap <C-n> :CtrlPFunky<Cr>
    "列出当前目录文件
    map <F3> :NERDTree<CR>
    "打开树状文件目录
    map <C-F3> e
    :autocmd BufRead,BufNewFile *.dot map <F5> :w<CR>:!dot -Tjpg -o %<.jpg % && eog %<.jpg <CR><CR> && exec "redr!"
    "C,C++ 按F5编译运行
    map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
    exec "!g++ % -o %<"
    exec "!time ./%<"
    elseif &filetype == 'cpp'
    exec "!g++ % -o %<"
    exec "!time ./%<"
    elseif &filetype == 'java'
    exec "!javac %"
    exec "!time java %<"
    elseif &filetype == 'sh'
    :!time bash %
    elseif &filetype == 'python'
    exec "!time python2.7 %"
    elseif &filetype == 'html'
    exec "!firefox % &"
    elseif &filetype == 'go'
    " exec "!go build %<"
    exec "!time go run %"
    elseif &filetype == 'mkd'
    exec "!~/.vim/markdown.pl % > %.html &"
    exec "!firefox %.html &"
    endif
    endfunc
    "C,C++的调试
    map <F8> :call Rungdb()<CR>
    func! Rungdb()
    exec "w"
    exec "!g++ % -g -o %<"
    exec "!gdb ./%<"
    endfunc


    "代码格式优化化

    map <F6> :call FormartSrc()<CR><CR>

    "定义FormartSrc()
    func FormartSrc()
    exec "w"
    if &filetype == 'c'
    exec "!astyle --style=ansi -a --suffix=none %"
    elseif &filetype == 'cpp' || &filetype == 'hpp'
    exec "r !astyle --style=ansi --one-line=keep-statements -a --suffix=none %> /dev/null 2>&1"
    elseif &filetype == 'perl'
    exec "!astyle --style=gnu --suffix=none %"
    elseif &filetype == 'py'||&filetype == 'python'
    exec "r !autopep8 -i --aggressive %"
    elseif &filetype == 'java'
    exec "!astyle --style=java --suffix=none %"
    elseif &filetype == 'jsp'
    exec "!astyle --style=gnu --suffix=none %"
    elseif &filetype == 'xml'
    exec "!astyle --style=gnu --suffix=none %"
    else
    exec "normal gg=G"
    return
    endif
    exec "e! %"
    endfunc
    "结束定义FormartSrc

    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    ""实用设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    if has("autocmd")
    autocmd BufReadPost *
    if line("'"") > 0 && line("'"") <= line("$") |
    exe "normal g`"" |
    endif
    endif
    "当打开vim且没有文件时自动打开NERDTree
    autocmd vimenter * if !argc() | NERDTree | endif
    " 只剩 NERDTree时自动关闭
    autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif

    " 设置当文件被改动时自动载入
    set autoread
    " quickfix模式
    autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
    "代码补全
    set completeopt=preview,menu
    "允许插件
    "filetype plugin on
    "共享剪贴板
    "set clipboard+=unnamed
    "自动保存
    set autowrite
    "set ruler " 打开状态栏标尺
    "set cursorline " 突出显示当前行
    set magic " 设置魔术
    set guioptions-=T " 隐藏工具栏
    set guioptions-=m " 隐藏菜单栏
    ""set foldcolumn=0
    ""set foldmethod=indent
    ""set foldlevel=3
    " 不要使用vi的键盘模式,而是vim自己的
    set nocompatible
    " 去掉输入错误的提示声音
    set noeb
    " 在处理未保存或只读文件的时候,弹出确认
    set confirm
    "禁止生成临时文件
    set nobackup
    set noswapfile
    "搜索忽略大小写
    set ignorecase


    set linespace=0
    " 增强模式中的命令行自动完成操作
    set wildmenu
    " 使回格键(backspace)正常处理indent, eol, start等
    set backspace=2
    " 允许backspace和光标键跨越行边界
    set whichwrap+=<,>,h,l
    " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
    set mouse=a
    set selection=exclusive
    set selectmode=mouse,key
    " 通过使用: commands命令,告诉我们文件的哪一行被改变过
    set report=0
    " 在被分割的窗口间显示空白,便于阅读
    set fillchars=vert: ,stl: ,stlnc:
    " 高亮显示匹配的括号
    set showmatch
    " 匹配括号高亮的时间(单位是十分之一秒)
    set matchtime=1
    " 光标移动到buffer的顶部和底部时保持3行距离
    set scrolloff=3
    " 为C程序提供自动缩进
    "自动补全
    "":inoremap ( ()<ESC>i
    "":inoremap ) <c-r>=ClosePair(')')<CR>
    ":inoremap { {<CR>}<ESC>O
    ":inoremap } <c-r>=ClosePair('}')<CR>
    "":inoremap [ []<ESC>i
    "":inoremap ] <c-r>=ClosePair(']')<CR>
    "":inoremap " ""<ESC>i
    "":inoremap ' ''<ESC>i
    ""function! ClosePair(char)
    "" if getline('.')[col('.') - 1] == a:char
    "" return "<Right>"
    "" else
    "" return a:char
    "" endif
    ""endfunction
    filetype plugin indent on
    "打开文件类型检测, 加了这句才可以用智能补全
    set completeopt=longest,menu
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " CTags的设定
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    let Tlist_Sort_Type = "name" " 按照名称排序
    let Tlist_Use_Right_Window = 1 " 在右侧显示窗口
    let Tlist_Compart_Format = 1 " 压缩方式
    let Tlist_Exist_OnlyWindow = 1 " 如果只有一个buffer,kill窗口也kill掉buffer
    ""let Tlist_File_Fold_Auto_Close = 0 " 不要关闭其他文件的tags
    ""let Tlist_Enable_Fold_Column = 0 " 不要显示折叠树
    "let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
    "设置tags
    "set tags=tags
    "set autochdir

    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "其他东东
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "默认打开Taglist
    let Tlist_Auto_Open=0
    """"""""""""""""""""""""""""""
    " Tag list (ctags)
    """"""""""""""""""""""""""""""""
    let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
    let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
    let Tlist_File_Fold_Auto_Close = 1
    let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
    let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口
    " minibufexpl插件的一般设置
    let g:miniBufExplMapWindowNavVim = 1
    let g:miniBufExplMapWindowNavArrows = 1
    let g:miniBufExplMapCTabSwitchBufs = 1
    let g:miniBufExplModSelTarget = 1
    nmap tl :Tlist<cr>

    "输入法
    :let g:vimim_map='c-/'
    ":let g:vimim_cloud='sougou' " QQ云输入
    :let g:vimim_punctuation=0 " 不用中文标点
    :set pastetoggle=<C-H>
    :let g:vimim_cloud=-1


    "python补全
    let g:pydiction_location = '~/.vim/after/complete-dict'
    let g:pydiction_menu_height = 20
    let Tlist_Ctags_Cmd='/usr/local/bin/ctags'
    let g:miniBufExplMapWindowNavVim = 1
    let g:miniBufExplMapWindowNavArrows = 1
    let g:miniBufExplMapCTabSwitchBufs = 1
    let g:miniBufExplModSelTarget = 1


    set iskeyword+=.
    set termencoding=utf-8
    set encoding=utf8
    set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

    autocmd FileType python set omnifunc=pythoncomplete#Complete

    "set nocompatible " be iMproved
    "filetype off " required!

    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()

    " let Vundle manage Vundle
    " required!
    Bundle 'gmarik/vundle'

    " My Bundles here:
    "
    " original repos on github
    Bundle 'tpope/vim-fugitive'
    Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
    Bundle 'Yggdroot/indentLine'
    let g:indentLine_char = '┊'
    "ndle 'tpope/vim-rails.git'
    " vim-scripts repos
    Bundle 'L9'
    Bundle 'FuzzyFinder'
    " non github repos
    Bundle 'git://git.wincent.com/command-t.git'
    Bundle 'Auto-Pairs'
    Bundle 'python-imports.vim'
    Bundle 'CaptureClipboard'
    Bundle 'ctrlp-modified.vim'
    Bundle 'last_edit_marker.vim'
    Bundle 'synmark.vim'
    "Bundle 'Python-mode-klen'
    Bundle 'SQLComplete.vim'
    Bundle 'Javascript-OmniCompletion-with-YUI-and-j'
    "Bundle 'JavaScript-Indent'
    "Bundle 'Better-Javascript-Indentation'
    Bundle 'jslint.vim'
    Bundle "pangloss/vim-javascript"
    Bundle 'Vim-Script-Updater'
    Bundle 'ctrlp.vim'
    Bundle 'tacahiroy/ctrlp-funky'
    Bundle 'jsbeautify'
    Bundle 'The-NERD-Commenter'
    "django
    Bundle 'django_templates.vim'
    Bundle 'Django-Projects'

    "Bundle 'FredKSchott/CoVim'
    "Bundle 'djangojump'
    " ...
    let g:html_indent_inctags = "html,body,head,tbody"
    let g:html_indent_script1 = "inc"
    let g:html_indent_style1 = "inc"

    filetype plugin indent on " required!
    "
    " Brief help
    " :BundleList - list configured bundles
    " :BundleInstall(!) - install(update) bundles
    " :BundleSearch(!) foo - search(or refresh cache first) for foo
    " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
    "
    " see :h vundle for more details or wiki for FAQ
    " NOTE: comments after Bundle command are not allowed..
    "
    "
    "ctrlp设置
    "
    set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.png,*.jpg,*.gif " MacOSX/Linux
    set wildignore+=*\tmp\*,*.swp,*.zip,*.exe,*.pyc,*.png,*.jpg,*.gif " Windows

    let g:ctrlp_custom_ignore = 'v[/].(git|hg|svn)$'
    let g:ctrlp_custom_ignore = 'v.(exe|so|dll)$'
    let g:ctrlp_extensions = ['funky']

    let NERDTreeIgnore=['.pyc']

  • 相关阅读:
    jmeter4-数据库性能测试
    jmeter2-接口性能测试
    jmeter1-测试流程
    jmeter-beanshell随机取数组一项
    最强MySQL数据库设计规范... (转载)
    Python词云
    adb常用命令
    jmeter线程组多个请求之间的参数关联
    VisualVM使用与调优案例
    mysql调优工具tuning-primer.sh的使用
  • 原文地址:https://www.cnblogs.com/Apro/p/4554636.html
Copyright © 2020-2023  润新知