• gvim 编辑器配置


    "关才兼容模式

    set nocompatible

    "模仿快捷键,如:ctrt+A 全选、Ctrl+C复制、 Ctrl+V 粘贴等

    source $VIMRUNTIME/vimrc_example.vim

    source $VIMRUNTIME/mswin.vim

    behave mswin

     

    "gvim字体设置

    set guifont=新宋体:h14:cGB2312

     

    "gvim 内部编码

    set encoding=utf-8

    "当前编辑的文件编码

    set fileencoding=utf-8

    "gvim打开支持编码的文件

    set fileencodings=ucs-bom,utf-8,gbk,cp936,gb2312,big5,euc-jp,euc-jp,euc-kr,latin1

     

    "解决consle输出乱码

    language messages zh_CN.UTF-8

    "解决菜单乱码

    source $VIMRUNTIME/delmenu.vim

    source $VIMRUNTIME/menu.vim

     

    "设置终端编码为gvim内部编码encoding

    let &termencoding=&encoding

    防止特殊符号无法正常显示

    set ambiwidth=double

    "缩进尺寸为4个空格

    set sw=4

    "tab 宽度为4个字符

    set ts=4

    "编辑时将所有tab替换为空格

    set et

    "按一次backspace就删除4个空格了

    set smarttab

    "不生成备份文件,如~index.html

    set nobackup

    "开启行号标记

    set number

    "配色方案为desert

    colo desert

    "关才上侧工具栏

    set guioptions-=T

    "关才右侧滚动条

    "set guioptions-=r

    "开启自动缩进

    set autoindent

     

     

    "代码自动补全  (按快捷键Ctrl+X+O

    set autoindent

    autocmd FileType python set omnifunc=pythoncomplete#Complete

    autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS

    autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

    autocmd FileType css set omnifunc=csscomplete#CompleteCSS

    autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags

    autocmd FileType php set omnifunc=phpcomplete#CompletePHP

    autocmd FileType c set omnifunc=ccomplete#Complete

     

    "代码折叠

    "用空格键来开关折叠(说明西方“"”后面的内容为注释,不会被VIM所识别)

    set foldenable

    set foldmethod=indent

    nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

     

    "实现括号和引号自动补全

    inoremap ( ()<Esc>i

    inoremap [ []<Esc>i

    inoremap { {<CR>}<Esc>O

    autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>

    inoremap ) <c-r>=ClosePair(')')<CR>

    inoremap ] <c-r>=ClosePair(']')<CR>

    inoremap } <c-r>=CloseBracket()<CR>

    inoremap " <c-r>=QuoteDelim('"')<CR>

    inoremap ' <c-r>=QuoteDelim("'")<CR>

     

    function ClosePair(char)

     if getline('.')[col('.') - 1] == a:char

     return "<Right>"

     else

     return a:char

     endif

    endf

     

    function CloseBracket()

     if match(getline(line('.') + 1), 's*}') < 0

     return "<CR>}"

     else

     return "<Esc>j0f}a"

     endif

    endf

     

    function QuoteDelim(char)

     let line = getline('.')

     let col = col('.')

     if line[col - 2] == "\"

     "Inserting a quoted quotation mark into the string

     return a:char

     elseif line[col - 1] == a:char

     "Escaping out of the string

     return "<Right>"

     else

     "Starting a string

     return a:char.a:char."<Esc>i"

     endif

    endf

     

  • 相关阅读:
    [转] MathType的灵活运用
    [zz] 模式识别,计算机视觉领域,期刊
    SQL语句 合并列值 将一列的多个值合并成一行
    目标板识别为U盘
    android 事件传递机制
    linux有关文件权限的命令
    linux中的jiffies变量
    分析Android 根文件系统启动过程(init守护进程分析)
    2010年暂订读书目录
    Android Power Management
  • 原文地址:https://www.cnblogs.com/mmix2009/p/3216900.html
Copyright © 2020-2023  润新知