zoukankan      html  css  js  c++  java
  • 共享VIM配置文件

    " progressively check higher values... falls out on first "true"
    " (note addition of zero ... this guarantees return from function is numeric
    "if strftime("%H") < 6 + 0                 “6:00
    "colorscheme darkblue
    "echo "setting colorscheme to darkblue"
    "elseif strftime("%H") < 12 + 0        ”12:00
    "colorscheme morning
    "echo "setting colorscheme to morning"
    "elseif strftime("%H") < 18 + 0        “18:00
    "colorscheme shine
    "echo "setting colorscheme to shine"
    "else
    "colorscheme evening
    "echo "setting colorscheme to evening"
    "endif


    autocmd InsertLeave * set nocul"浅色显示高亮行,离开时关闭
    autocmd InsertLeave * set nocuc"浅色显示高亮列,离开时关闭
    autocmd InsertEnter * set cul"浅色显示高亮行,进入时浅色显示打开
    autocmd InsertEnter * set cuc"浅色显示高亮列,进入时浅色显示打开


    let &t_SI = "<Esc>]50;CursorShape=0x7"
    let &t_EI = "<Esc>]50;CursorShape=1x7"
    "*****************************************选项设置**********************************************
    set nocompatible"关闭vi兼容模式
    syntax on"语法高亮
    set t_Co=256"开启vim的256颜色支持
    "colorscheme default"设定配色方案
    colorscheme guodesert"设定配色方案
    set nobackup"覆盖文件时不备份
    set autoindent"插入模式下输入<cr>或使用"o"或"O"命令开新行,从当前行复制缩进距离
    set shiftwidth=4 "(自动)缩进每一步使用的空白数目
    set softtabstop=4"执行插入时,<Tab>算作空格的数目,可以改为4
    set noexpandtab"不用空格展开<Tab>
    set scrolloff=2"光标上下两侧最少保留的屏幕行数
    set linespace=2"字符间插入的像素行数目"
    set sidescrolloff=5"如果设置'nowrap',光标左右两侧保留的最少屏幕列数
    set sidescroll=1"水平滚动时滚动的最少列数
    set showcmd "在屏幕最后一行显示 (部分的) 命令
    set showmode"在插入、替换和可视模式里,在最后一行提供消息
    set hidden"放弃时隐藏缓冲区
    set wildmenu"'wildmenu'打开时,命令行补全以增强模式运行
    set wildmode=list:full"用'widechar'指定的字符所用的补全模式
    set novisualbell"不使用可视响铃
    set number"在每行前面显示行号
    set numberwidth=3"行号使用的最小列数
    set ignorecase"搜索模式里忽略大小写
    set smartcase"搜索模式里包含大写字符,不使用ignorecase选项
    set incsearch"输入搜索命令时,显示目前输入的模式的匹配位置。匹配的字符串被高亮
    set hlsearch"搜索时高亮显示被找到的文本
    set showmatch"插入括号时,短暂地跳转到匹配的对应括号 
    set matchtime=7"短暂跳转到匹配括号的时间
    "set textwidth=72"设定文本的宽度为80个字符时自动断行
    "set columns=75"设置文本达到columns宽度时自动换行
    "set wrap"设置文本达到textwidth宽度时自动换行,但实际文件还是一行
    "set nowrap"设置文本达到textwidth宽度时不自动换行
    "set complete+=k"关键字补全,扫描 'dictionary' 选项给出的文件
    set history=50"命令的历史和最近的搜索模式的历史被记住。本项决定每个历史分别记多少项 
    set wildignore+=*.svn"文件名补全时忽略.svn 
    set nosplitbelow"窗口的分割会把新窗口放到当前窗口之下
    set nosplitright"窗口的分割会把新窗口放到当前窗口之右
    set background=dark"设置背景为暗色
    set virtualedit+=block"在可视模式下可以选择一个方块
    set autoread"当文件在外部被修改时,自动重新读取
    set autowrite"自动保存文件
    "set cmdheight=2"设定命令行的行数为1
    "set cuc"将当前光标下的列高亮
    set autochdir"自动切换当前目录为当前文件所在的目录
    set helplang=cn"设置帮助语言
    set iskeyword+=_,$,@,%,#,-  "带有这些字符的单词不要被换行分割
    set backspace=2"使用回格键
    set backspace=indent,eol,start"影响 <BS>、<Del>、CTRL-W和CTRL-U在插入模式下的工作方式
    set noswapfile"没有交换文件
    "set undofile"持久撤销功能
    filetype plugin indent on"文件类型侦测 
    set foldlevel=99"设置折叠级别: 高于此级别的折叠会被关闭
    set foldclose=all"设置为自动关闭折叠 
    set foldenable"开始折叠
    set foldmethod=syntax"语法高亮项目指定折叠
    set foldcolumn=0"设置折叠区域的宽度,显示折叠列
    set cursorline"突出显示当前行
    "set cursorcolumn"突出显示当前列
    set ruler   "显示状态栏标尺
    set rulerformat =%33(%2*%<%=修改:\%{strftime("%H:%M",getftime(expand("%")))} 光标:\%l行 %c%V列 %p%%%)
    "set rulerformat =%25(%2*%<%=光标: %l行 %c%V列 %p%%%)


    set fencs=utf-8,gb18030,gbk,gb2312,cp936,ucs-bom,shift-jis "设置编码
    set fileencoding=gb18030
    set fileencodings=utf-8,gbk


    " set cursorline
     "set smartindent  "开启新行时使用智能自动缩进


    "*****************************************高亮设置**********************************************
    "hi cFunctionsgui=NONEcterm=boldctermfg=blue
    "hi Commentctermfg=darkgreyctermbg=NONEcterm=NONE    "修改注释//grey灰色"
    "hi Constantctermfg=magentactermbg=NONEcterm=NONE                           "
    "hi Statementctermfg=darkredctermbg=NONEcterm=NONE
    "hi Preprocctermfg=bluectermbg=NONEcterm=NONE
    "hi LineNrctermfg=lightgreenctermbg=NONEcterm=NONE
    "hi Typectermfg=darkbluectermbg=NONEcterm=NONE    " 
    "hi Operatorctermfg=yellowctermbg=NONEcterm=NONE
    "hi Numberctermfg=magentactermbg=NONEcterm=NONE
    "hi Stringctermfg=magentactermbg=NONEcterm=NONE
    hi CursorLine   ctermfg=NONEctermbg=235 cterm=NONEguibg=NONEguifg=NONE   "黑色背景时指定高亮的规则bg=235
    "hi CursorLine   ctermfg=NONEctermbg=255 cterm=NONEguibg=NONEguifg=NONE   "白色背景时指定高亮的规则bg=255
    "*****************************************高亮设置**********************************************


    "描述自动排版如何进行的字母序列
    set formatoptions+=q
    set formatoptions+=r
    set formatoptions+=n
    "set formatoptions+=1
    "set colorcolumn=+1
    "set list                          "让tab显示成>-------->--------
    "set listchars=tab:>-,trail:-,extends:>,precedes:<    "配合上边的语句完成
    "#########################################选项设置##############################################


    " 为C程序提供自动缩进
    "set smartindent 
    "代码补全
    "set completeopt=preview,menu 
    "自动补全
    :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
    if getline('.') == a:char 
    return "<Right>" 
    else 
    return a:char 
    endif 
    endfunction 
    "filetype plugin indent on 
    "打开文件类型检测, 加了这句才可以用智能补全
    "set completeopt=longest,menu 


    "启用代码折叠,用空格键来开关折叠   
    nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR>   


    "===========================================其他按键映射=========================================
    nnoremap j gj                     "自动换行时可在行中移动
    nnoremap k gk
    nnoremap <C-h> <C-w>h             "在分割的窗口间移动
    nnoremap <C-j> <C-w>j
    nnoremap <C-k> <C-w>k
    nnoremap <C-l> <C-w>l
    noremap <S-h> :bp<cr>             "在buffer间移动
    noremap <S-l> :bn<cr>
    map + <C-w>+                      "增减窗口尺寸
    map _ <C-w>-
    "":map e ea                         "移动到单词结尾时就自动进入插入模式
    nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>  "用空格键来开关折叠
    "####################################其他按键映射###################################


    "================================打开文件时,自动跳转到光标最后所在的位置==========================
    "打开文件时,自动跳转到光标最后所在的位置
    if has("autocmd")
       au BufReadPost * if line("'"") > 0 && line("'"") <= line("$")
         | exe "normal! g'"" | endif
     endif
    "###########################打开文件时,自动跳转到光标最后所在的位置#######################


    "通过键盘映射快速实现加入注释。
    "==========================================添加注释语句==========================================
      "将键盘上的F11功能键映射为添加作者信息的快捷键%m月%d日%Y年 
      "进行版权声明的设置
      "添加或更新头
      map <F9> :call TitleDet()<cr>'s
      
      function AddTitle()
        call append(0,"/* *========* *** *============================================== ")
        call append(1,"  * 作者代号: *** :换成你自己的即可")
        call append(2,"  * 版权声明: *** :(魎魍魅魑)GPL3")
        call append(3,"  * 联络信箱: *** :换成自己的@gmail.com")
        call append(4,"  * 文档用途: *** :C++基础教程--从问题分析到程序设计")  
        call append(5,"  * 文档信息: *** :".expand("%:p:~"))
        call append(6,"  * 修订时间: *** :".strftime("%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)"))
        call append(7," * *========* *** *============================================== */")
        echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
      endf
      "更新最近修改时间和文件名
      function UpdateTitle()
        normal m'
        execute '/修订时间:/s@:.*$@=strftime(": *** *%Y年第%W周 %m月%d日 %A %p%I:%M (%j天)")@'
        normal ''
        normal mk
        execute '/文档信息:/s@:.*$@=": *** :".expand("%:p:~")@'
        execute "noh"
        normal 'k
        echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
      endfunction
      "判断前10行代码里面,是否有Last modified这个单词,
      "如果没有的话,代表没有添加过作者信息,需要新添加;
      "如果有的话,那么只需要更新即可
      function TitleDet()
        let n=1
        "默认为添加
        while n < 10
            let line = getline(n)
            if line =~ '^ **s*S*修订时间:S*.*$'
    call UpdateTitle()
                return
            endif
            let n = n + 1
        endwhile
        call AddTitle()
      endfunction  
    "##########################################添加注释语句##############################


    """"""""""""""""""""""""""""""""""""""""""""""""
    "Compile and run
    """"""""""""""""""""""""""""""""""""""""""""""""
    map <F5>:call CompileRun()<cr>
    func CompileRun()
        if &filetype=="c"
    exec ":w"<cr>
    exec "!g++ % -o %< && ./%<"<cr>
        endif
    endfunc


    """"""""""""""""""""""""""""""""""""""""""""""""
    "Compile and run
    """"""""""""""""""""""""""""""""""""""""""""""""
    map <F10>:call CompileRunJava()<cr>
    func CompileRunJava()
        if &filetype=="java"
    exec ":w"<cr>
    exec "!javac %"<cr>
    exec "!java %<"<cr>
        endif
    endfunc


    "试试缩写好用吗
     ab psvms public static void main(String[
     ab sop System.out.println(
    "set gcr=n-v-c:ver50-Cursor/lCursor,ve:ver75-Cursor,o:hor50-Cursor,i-ci:ver50-Cursor/lCursor


    "if &term =~ '^xterm'
      " solid underscore
     " let &t_SI .= "<Esc>[4 q"
      " solid block
    "  let &t_EI .= "<Esc>[2 q"
      " 1 or 0 -> blinking block
      " 3 -> blinking underscore
      " Recent versions of xterm (282 or above) also support
      " 5 -> blinking vertical bar
      " 6 -> solid vertical bar
    "endif

  • 相关阅读:
    1月10日寻找“岭南九寨沟”韶关始兴深度水
    LR11录制脚本时无法弹出IE的解决方法
    robot selenium alert/confirm处置系统弹出框
    java+eclipse+selenium自动化
    测试用例水杯
    selenium IDE认识IDE面板
    angularJS学习笔记之——搭建学习环境
    使用Angularjs的ngcloak指令避免页面乱码
    angularjs的$on、$emit、$broadcast
    angularjs 的笔记
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/6823182.html
Copyright © 2011-2022 走看看