• gvim设置使用


    最近有一款编辑器叫sublimeText 2比较流行,我也下载用了一下,确实很好看,自动完成,缩进功能什么的也比较齐全,插件也十分丰富。但用起来不是很顺手,最后还是回到了Gvim(Vim的GUI版本,除了一些GUI可以额外设置,颜色支持更多外基本与Vim没有区别)的怀抱,我并没有花很多时间去把玩ST2,没法评论那个更好,不过也许Gvim会更适合我。所以想写几篇博文记录下一路学习Gvim的过程。

      写在前面:

      (1)我用的是Gvim7.3_46,系统是win7

      (2)这一系列文章不会详细的介绍Vim的每一个命令的用法

      (3)我会尽量的配图,千言万语有时候真的没有一张图片来得直观

      (4)Gvim下载地址Gvim需要爬墙

      什么叫有感觉呢?最近看了很多相亲的帖子(没错,楼主也是大龄苦逼单身屌丝码农T-T)。经常某某会这样说:“我的要求不高,对方有感觉就好。”,这其实是一个很高的要求,类似于你希望微软为了让你写程序有感觉而推出一个量身打造的VS-For-You,当然你有足够的金钱也不是不可能的(这点和某些相亲情况类似)。话扯远了,我想说的是也许这辈子我们都无法找到一个真正有感觉的人,但这阵子我们完全就可以打造一个有感觉的Vim。

      顺眼的外表:

        按照上面的下载地址路安装完成之后,来看看我们素颜的Gvim姑娘

        

        而在Gvim安装的根目录下你可以看到一个这样的文件_vimrc,这个是Gvim的配置文件,未修改过的内容如下

    复制代码
    set nocompatible
    source $VIMRUNTIME/vimrc_example.vim
    source $VIMRUNTIME/mswin.vim
    behave mswin
    
    set diffexpr=MyDiff()
    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 arg2 = v:fname_new
      if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
      let arg3 = v:fname_out
      if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
      let eq = ''
      if $VIMRUNTIME =~ ' '
        if &sh =~ '<cmd'
          let cmd = '""' . $VIMRUNTIME . 'diff"'
          let eq = '"'
        else
          let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"'
        endif
      else
        let cmd = $VIMRUNTIME . 'diff'
      endif
      silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
    endfunction
    复制代码

      这是一些基本的配置和一个函数,暂时不用管这些。现在我们来看看Gvim外观的一些设置。

      首先是要说的是Gvim的设置大多是通过set [key]=[value]这个命令来实现。而Vim有三个基本的模式(正常模式,编辑模式,和底行模式)set命令需要在底行模式中执行,而进入底行命令需要在正常模式中按下:,这时候你就会在底部看见一个要求输入命令的行。

    而正常模式是编辑模式和底行模式的转换层(编辑模式需要在正常模式中按下某些键,例如:i,I,a,A等等,进入),因为正常模式是Vim的默认模式,现在我们只需要按下:进入即可。

    我们通过在底行模式下输入browse set可以看到当前的设置

    此时当前窗口被分割成了两个部分,通过浏览上面窗口的内容我们可以知道当前Gvim的各个设置和每个设置控制的外观属性。

    为了打造Gvim小姐,我们需要对以下几个设置进行更改。

    复制代码
    guioptions:缩写是go 主要控制Gvim的图形外观,默认只是egmrLtT,每个字母的意义如下:
                    e.(这个不知道)
                    g.令Gvim的无法使用的菜单选项变为灰色
             m.显示菜单栏
             r.显示右边的下拉条L.当垂直分割窗口的时候显示左边的下拉条
    t.(这个不知道)
    T.显示工具栏
    复制代码

    既然用Vim了那么我们可能基本上就不会再用到工具栏和菜单栏了,一切操作都应该以快捷键和命令完成,所以我们不需要这些设定。不需要菜单栏,不需要下拉条,不需要工具栏。只需要一个窗口就好。我们只需要简单的将go设置成空就行了,命令如下

    :set go=

    Gvim变成了下面这个样子

    这个字体看起来不是很舒服,我们还需要对字体设定一下,这个选项是guifont,首先我们调出字体设置的页面,输入如下命令即可

    :set guifont=*

    命令成功执行后会弹出下面的对话框

    我选择了如图所示的字体,点击确定后Gvim如下

     

    我们还需要记录下当前字体的设置,然后将其写如配置文件中,这样就不用每次打开Gvim都要重新设定一下了。查看任意一个设置的当前值得命令为:set [key]?,所以查看当前字体设定的命令如下

    :set guifont?

    guifont的值会在当前输出

    当编辑的时候我们不希望屏幕中间还有一个鼠标停在那里,只要如下设定即可达到目的

    :set mousehide

    这样当我们按下键盘的时候鼠标就会消失了

    我们还需要设置一下Gvim的高和宽,最好是全屏,所以我们要设置一下Gvim的行数和列数

    :set lines=150 columns=1000

    这只是一个大概的设置,但是你应该设置一个超过当前行数和列数的值来保证Gvim窗口的最大化,因为之前我们已经设置了没有下拉条并且Gvim的默认设定会自动折行所以这样设置并没有问题,但你也可以使用下面这个命令来保证最大化到精切的行数和列数

    au GUIEnter * simalt ~x

    但是这个命令只能保存到配置文件中,因为这是一个响应Gvim打开的自动命令,就是在每次Gvim打开是模拟执行Windows最大化窗口的快捷键(Alt+空格+x)

    下面来切换一下Gvim的主题,在Vim的根目录下有一个colors文件夹里面就存放了Vim的默认安装的主题,如下图

    我们只需要输入:colo [ThemeName] 例如

    :colo evening

    此时Gvim的窗口如下

     

    你也可以访问100个顶级Vim主题下载(需爬墙)获得,下载完成后解压出.vim后缀的文件放到colors文件夹下进入Vim中用:colo设定即可

    最后我们要将这些配以一起写到前文提到的_vimrc中,这样每次Gvim启动我们就不需要再次设置了。最后的_vimrc文件如下

    复制代码
    set nocompatible
    source $VIMRUNTIME/vimrc_example.vim
    source $VIMRUNTIME/mswin.vim
    behave mswin
    "无菜单工具条 set go=
    "设置Gvim字体 set guifont=Consolas:h11:cANSI
    "Gvim打开即进入全屏 au GUIEnter * simalt ~x
    "设置主题 colo evening set diffexpr=MyDiff() 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 arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '<cmd' let cmd = '""' . $VIMRUNTIME . 'diff"' let eq = '"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . 'diff"' endif else let cmd = $VIMRUNTIME . 'diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq endfunction
  • 相关阅读:
    Kubernetes(K8S)集群部署搭建图文教程(最全)
    Kubernetes核心原理和搭建
    Navicat Premium 15注册出现“rsa public key not find”
    centos 7永久修改主机名
    docker 部署jenkins,及构建执行scp指令,一直处于构建状态以及钉钉通知配置
    jenkins 无法连接仓库:Command /usr/bin/git ls-remote -h
    mysql 8.0安装包下载地址
    centos7安装xtrabackup 物理备份工具与使用
    Linux vi/vim编辑器
    解决报错docker 启动报 WARNING: IPv4 forwarding is disabled. Networking will not work.
  • 原文地址:https://www.cnblogs.com/chengjian-physique/p/8934640.html
Copyright © 2020-2023  润新知