zoukankan      html  css  js  c++  java
  • gvim 简易设置

    gvim 最基础设置

    " Vim with all enhancements
    source $VIMRUNTIME/vimrc_example.vim
    
    " Use the internal diff if available.
    " Otherwise use the special 'diffexpr' for Windows.
    if &diffopt !~# 'internal'
      set diffexpr=MyDiff()
    endif
    function MyDiff()
      let opt = '-a --binary '
      if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
      if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
      let arg1 = v:fname_in
      if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
      let arg1 = substitute(arg1, '!', '\!', 'g')
      let arg2 = v:fname_new
      if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
      let arg2 = substitute(arg2, '!', '\!', 'g')
      let arg3 = v:fname_out
      if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
      let arg3 = substitute(arg3, '!', '\!', 'g')
      if $VIMRUNTIME =~ ' '
        if &sh =~ '\<cmd'
          if empty(&shellxquote)
            let l:shxq_sav = ''
            set shellxquote&
          endif
          let cmd = '"' . $VIMRUNTIME . '\diff"'
        else
          let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
        endif
      else
        let cmd = $VIMRUNTIME . '\diff'
      endif
      let cmd = substitute(cmd, '!', '\!', 'g')
      silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
      if exists('l:shxq_sav')
        let &shellxquote=l:shxq_sav
      endif
    endfunction
    
    " ==============  my configuration  ==================================
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 窗口设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 分割出来的窗口位于当前窗口下边/右边
    set splitbelow
    set splitright
    "不显示工具/菜单栏
    set guioptions-=T
    set guioptions-=m
    set guioptions-=L
    set guioptions-=r
    set guioptions-=b
    " 使用内置 tab 样式而不是 gui
    set guioptions-=e
    set nolist
    set guifont=Consolas:h12:cANSI
    set relativenumber number
    
    " 设定默认解码
    set fenc=utf-8
    set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
    
    " 不要使用vi的键盘模式,而是vim自己的
    set nocompatible
    " history文件中需要记录的行数
    set history=1000
    
    " 在处理未保存或只读文件的时候,弹出确认
    set confirm
    " 与windows共享剪贴板
    "set clipboard+=unnamed
    " 侦测文件类型
    filetype on
    
    " 载入文件类型插件
    filetype plugin on
    " 为特定文件类型载入相关缩进文件
    filetype indent on
    
    " 保存全局变量
    set viminfo+=!
    " 带有如下符号的单词不要被换行分割
    set iskeyword+=_,$,@,%,#,-
    
    " 语法高亮
    syntax on
    syntax enable
    " 高亮字符,让其不受100列限制
    :highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
    :match OverLength '\%101v.*'
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 文件设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 不要备份文件(根据自己需要取舍)
    set nobackup
    " 不要生成swap文件,当buffer被丢弃的时候隐藏它
    set noswapfile
    set noundofile
    set bufhidden=hide
    
    " 字符间插入的像素行数目
    set linespace=0
    " 增强模式中的命令行自动完成操作
    set wildmenu
    
    " 在状态行上显示光标所在位置的行号和列号
    set ruler
    set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
    " 命令行(在状态行下)的高度,默认为1,这里是2
    set cmdheight=2
    
    " 使回格键(backspace)正常处理indent, eol, start等
    set backspace=2
    " 允许backspace和光标键跨越行边界
    set whichwrap+=<,>,h,l
    
    " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
    "set mouse=a
    "set selection=exclusive
    "set selectmode=mouse,key
    
    " 启动的时候不显示那个援助索马里儿童的提示
    set shortmess=atI
    " 通过使用: commands命令,告诉我们文件的哪一行被改变过
    set report=0
    
    " 不让vim发出讨厌的滴滴声
    set noerrorbells
    " 在被分割的窗口间显示空白,便于阅读
    set fillchars=vert:\ ,stl:\ ,stlnc:\
    " encoding
    set fileencodings=utf-8,gbk2312,gbk,gb18030,cp936
    set encoding=utf-8
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 搜索和匹配
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 高亮显示匹配的括号
    set showmatch
    
    " 匹配括号高亮的时间(单位是十分之一秒)
    set matchtime=5
    " 在搜索的时候忽略大小写
    set ignorecase
    
    " 不要高亮被搜索的句子(phrases)
    set nohlsearch
    " 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
    set incsearch
    
    " 输入:set list命令是应该显示些啥?
    set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$
    " 光标移动到buffer的顶部和底部时保持3行距离
    set scrolloff=3
    
    " 不要闪烁
    set novisualbell
    " 我的状态行显示的内容(包括文件类型和解码)
    set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
    
    " 总是显示状态行
    set laststatus=2
    
  • 相关阅读:
    在django中用MySQL为数据库 新建一个项目的流程
    django ORM中的RelatedManager(关联管理器)
    URL的命名和反向解析
    自定义分页的插件
    从数据库读出数据分页显示
    往数据库批量插入试验数据
    JDK9对集合添加的优化
    全栈工程师
    List的三个子类的特点
    List集合
  • 原文地址:https://www.cnblogs.com/rookieagle/p/15759039.html
Copyright © 2011-2022 走看看