zoukankan      html  css  js  c++  java
  • vim配置文件

      1 "***************************************************************
      2 " File Name        : .vimrc
      3 " Author           : skytrails
      4 " Email            : skytrails@163.com
      5 " Create Time      : 2015年09月08日 星期二 06时35分
      6 " Last Modify      : 2015年09月10日 星期四 09时01分
      7 "***************************************************************
      8 
      9 set nu
     10 syntax on
     11 set t_Co=256
     12 colorscheme dracula
     13 "set TabLineFill=red
     14 "set ai    " eq: set autoindent
     15 set si    " eq: set smartindent
     16 set tabstop=4    " 设置tab键为4个空格
     17 set tags+=~/.vim/systags
     18 set noswapfile
     19 set fdm=syntax
     20 set foldlevel=99
     21 set foldcolumn=2
     22 set fillchars=vert:| 
     23 set laststatus=2
     24 set showtabline=2
     25 set hlsearch
     26 :let mapleader=',' 
     27 nmap <leader>h <c-w>h
     28 nmap <leader>j <c-w>j
     29 nmap <leader>k <c-w>k
     30 nmap <leader>l <c-w>l
     31 """"""""""""""""""""""""""""""
     32 " cscope setting
     33 " """"""""""""""""""""""""""""""
     34 :cs add cscope.out
     35 """"""""""""""""""""""""""""""
     36 " fuzzyfinder setting
     37 " """"""""""""""""""""""""""""""
     38 nmap <leader>ff :FufCoverageFile<cr>
     39 let g:fuf_coveragefile_globPatterns = ['**/*.h', '**/*.c', '**/*.cpp', '*akefile']
     40 nmap <leader>g :Rgrep<cr>
     41 """"""""""""""""""""""""""""""
     42 " Tagbar setting
     43 " """"""""""""""""""""""""""""""
     44 nmap <leader>t :TagbarToggle<cr>
     45 let g:tagbar_left = 1
     46 let g:tagbar_autoshowtag = 1
     47 """"""""""""""""""""""""""""""
     48 " TagHightLight setting
     49 " """"""""""""""""""""""""""""""
     50 nmap mfl :UpdateTypesFile<cr>
     51 """"""""""""""""""""""""""""""
     52 " NERDTree setting
     53 " """"""""""""""""""""""""""""""
     54 nmap <leader>N :NERDTreeToggle<cr>
     55 """"""""""""""""""""""""""""""
     56 " vimwiki setting
     57 " """"""""""""""""""""""""""""""
     58 :nmap <F3> :Grep<cr>
     59 """"""""""""""""""""""""""""""
     60 " vimwiki setting
     61 " """"""""""""""""""""""""""""""
     62 set nocompatible
     63 let wiki = {}
     64 "let wiki.path = '~/my_wiki/'
     65 let wiki.nested_syntaxes = {'python': 'python', 'c++': 'c'}
     66 let g:vimwiki_list = [wiki]
     67 """"""""""""""""""""""""""""""
     68 " omnicppcomplete setting
     69 " """"""""""""""""""""""""""""""
     70 "set filetype
     71 filetype plugin on
     72 set completeopt=menu,menuone  
     73 let OmniCpp_MayCompleteDot=1    "打开  . 操作符
     74 let OmniCpp_MayCompleteArrow=1  "打开 -> 操作符
     75 let OmniCpp_MayCompleteScope=1  "打开 :: 操作符
     76 let OmniCpp_NamespaceSearch=1   "打开命名空间
     77 let OmniCpp_GlobalScopeSearch=1  
     78 let OmniCpp_DefaultNamespace=["std"]  
     79 let OmniCpp_ShowPrototypeInAbbr=0  "打开显示函数原型
     80 let OmniCpp_SelectFirstItem = 2    "自动弹出时自动跳至第一个
     81 "轻松编辑,更新vimrc文件
     82 nmap <leader>e :tabedit<cr>
     83 nmap <leader>s :so $MYVIMRC<cr>
     84 nmap <leader>v :tabedit $MYVIMRC<cr>
     85 
     86 imap jj <esc>
     87 "插入文件注释
     88 map <F11> :call AddComment()<cr>
     89 
     90 "map =  :call MidComment()<cr>
     91 "map = <esc>g*Nma0i"<esc>$a"<esc>$N
     92 map - <esc>f"j0bbma0x"<esc>$x"<esc>`a
     93 map = :call CommentLine()<cr>
     94 map - <esc>f"j0bbma0x"<esc>$x"<esc>`a
     95 map - :call UnCommentLine()<cr>
     96 """"""""""""""""""""""""""""应用函数""""""""""""""""""""""""""""
     97 function! CommentLine()
     98     if &filetype == 'vim'
     99       execute "normal ma0i"<esc>$a""
    100     endif
    101 endf
    102 function! UnCommentLine()
    103     let l:f_comtype = 2
    104     if &filetype == 'vim'
    105       execute "normal msk$w"
    106       if getline('.')[col('.')-1] != '"' 
    107         execute "normal `s"
    108         return
    109       elseif getline('.')[col('$')-2] != '"'
    110         while getline('.')[col('$')-2] == ' '
    111           execute "normal $x"
    112         endw
    113         if getline('.')[col('$')-2] != '"'
    114           let l:f_comtype = 1   " 1 为单个,2为多个"
    115         endif
    116       else
    117       endif
    118       while getline('.')[0] == ' '
    119         execute "normal 0x"
    120       endw
    121       if l:f_comtype == 1
    122         execute "normal k$wx"
    123         return
    124       elseif l:f_comtype == 2
    125         execute "normal k$wx<esc>$x<esc>"
    126         return
    127       endif
    128       if getline('.')[col('.')-1] == '"'
    129          
    130       else
    131       endif
    132     endif
    133 endf
    134 " AddComment "
    135 function! AddComment()
    136   if &filetype == "cpp" || &filetype == "c"
    137       if getline(1)[0] == '/'
    138         return
    139       endif
    140       call append(0,"/***************************************************************")
    141       call append(1,"" File Name     : ".expand("%:t"))
    142       call append(2,"" Author        : skytrails")
    143       call append(3,"" Email         : skytrails@163.com")
    144       call append(4,"" Create Time   : ".strftime("%Y-%m-%d %H:%M"))
    145       call append(5,"***************************************************************/")
    146   elseif &filetype  == "vim"
    147       if getline(1)[0] == '"'
    148         return
    149       endif
    150       call append(0,""***************************************************************")
    151       call append(1,"" File Name     : ".expand("%"))
    152       call append(2,"" Author        : skytrails")
    153       call append(3,"" Email         : skytrails@163.com")
    154       call append(4,"" Create Time   : ".strftime("%Y-%m-%d %H:%M"))
    155       call append(5,""***************************************************************")
    156   elseif &filetype == "make"
    157       if getline(1)[0] == '#'
    158         return
    159       endif
    160       call append(0, "###############################################################")
    161       call append(1,"# File Name     : ".expand("%"))
    162       call append(2,"# Author        : skytrails")
    163       call append(3,"# Email         : skytrails@163.com")
    164       call append(4,"# Create Time   : ".strftime("%Y-%m-%d %H:%M"))
    165       call append(5,"################################################################")
    166   else
    167   endif
    168 endf
    169 
    170 autocmd FileType c,cpp,make,vim :call SetFileEnv()
    171 func! SetFileEnv()
    172     if &filetype == 'cpp' || &filetype == 'c' || &filetype == 'vim'
    173       set expandtab
    174       set cindent shiftwidth=4 " 当行之间交错时使用4个空格
    175     elseif &filetype == 'make' 
    176     endif
    177 endf
    178 
    179 "debug  vim下设置自定义命令
    180 "command! Debug :so ~/.vimrc
    181 
    182 "vim下提交本地$HOME/.vimrc到svn版本库
    183 command! Ci :!svn ci $SVN_VIMRC_FILE
    184 command! Ch :!svn ci $SVN_LOGIN_PATH

    vim巧用:

    xd   交换两个相邻字符

    ddp 交换上下两行

    表 1. Vimscript 变量范围
    前缀含义
    g:varname 变量为全局变量
    s:varname 变量的范围为当前的脚本文件
    w:varname 变量的范围为当前的编辑器窗口
    t:varname 变量的范围为当前的编辑器选项卡
    b:varname 变量的范围为当前的编辑器缓冲区
    l:varname 变量的范围为当前的函数
    a:varname 变量是当前函数的一个参数
    v:varname 变量是 Vim 的预定义变量

    =-=-=-=-=
    Powered by Blogilo

    ..... created by skytrails
  • 相关阅读:
    【ASP.NET Web API教程】5.5 ASP.NET Web API中的HTTP Cookie
    【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)
    【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器
    【翻译】ASP.NET Web API是什么?
    【ASP.NET Web API教程】2.3.6 创建产品和订单控制器
    《精通ASP.NET MVC 3框架》译者序
    【ASP.NET Web API教程】3 Web API客户端
    委托、事件与匿名方法 — 学习委托最好的资料
    【ASP.NET Web API教程】2.3.3 创建Admin控制器
    【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI
  • 原文地址:https://www.cnblogs.com/skytrails/p/4790494.html
Copyright © 2011-2022 走看看