最近有一款编辑器叫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

gvim设置使用的更多相关文章

  1. GVIM设置背景颜色

    首先找到GVim的安装目录,在安装目录下你可以发现一个_vimrc文件,使用文本编辑器打开后在里面添加两行代码即可:代码如下set gfn=Courier_New:h14colorscheme tor ...

  2. gvim设置成不备份文件

    打开gVim,进入“编辑”-“启动设定” 在“behave mswin”下行位置添加 set nobackup 语句 退出并保存配置文件 :wq

  3. gvim设置字体和隐藏菜单栏工具栏

    liunx下面设置字体 set guifont=Monaco\ 注意空格的位置,其他写法不认哦! Windows下面设置 set guifont=Monaco:h 隐藏菜单栏 set guioptio ...

  4. GVIM 设置 vimrc

    set expandtab set nobackup set nosmartindent set noautoindent set ruler au BufRead,BufNewFile *.sv s ...

  5. gVim编辑器 操作篇

    gVim是一款强大的编辑器,可以满足大部分语言的编程需要.尤其是其自带的模板定制功能对于Verilog来说非常受用.然而gVim有很多操作是不同于其他编辑器的,这让很多初学者望而却步,因此,本文将gV ...

  6. spf13配置问题

    git clone https://github.com/spf13/spf13-vim.git tab是黑的色 加入这样一行就可以了set nolist if下的黑边在~/.vimrc里面吧inde ...

  7. windows下的vimrc

    很奇怪的事...不会解释 建议编译位置第一次设置为 map <F9> :call CR()<CR>func! CR()exec "w"exec " ...

  8. Linux命令总结大全,包含所有linux命令

    使用说明:此文档包含所有的Linux命令,只有你想不到的没有你看不到的,此文档共计10万余字,有8400多行,预计阅读时间差不多需要3个小时左右,所以要给大家说一说如何阅读此文档 为了方便大家阅读,我 ...

  9. 设置ISE/vivado中默认文本编辑器为gvim

    ise windows版,添加方式 ISE下点击菜单Edit -> Preferences -> Editor. 在Editor选项框里选择Custom,在Command line syn ...

随机推荐

  1. list推导式,dict推导式,set推导式

    生成一个1-14的列表 1.1 普通for循环 # lst = [] # for i in range(1,15): # lst.append(i) # print(lst) # # 结果: # [1 ...

  2. MySQL查询优化 对not in 、in 的优化

    因为 not in不走索引,所以不在不得已情况下,就不要使用not in 下面使用 join 来替代not in 做查询 select ID from A where ID not in (selec ...

  3. linux 下chown改变隐藏文件夹

    chown 在更改隐藏文件的时候,发现无法更改其用户组,如果需要将隐藏文件夹也做一个更改,那么需要加上-h选项. sudo  chown ai/node/  * -hR 使用以上命令即可.

  4. Python必学:使用哪款文本编辑器更好?

    Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍. 所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为一个文件,这样,程 ...

  5. python基础之闭包函数和装饰器

    补充:全局变量声明及局部变量引用 python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 global关键字用来在函数或其 ...

  6. Git-Git库管理

    对象和引用哪里去了? 从GitHub上克隆一个示例版本库,这个版本库在"历史穿梭"一章就已经克隆过一次了,现在要重新克隆一份.为了和原来的克隆相区别,克隆到另外的目录.执行下面的命 ...

  7. Oozie wordcount实战

    一.定义 基本概念 Action: An execution/computation task (Map-Reduce job, Pig job, a shell command). It can a ...

  8. tools.jar seem to ....

    android stadio 运行不起来,可以在java_home原来的路径下加一个\, 然后就可以运行起来了.

  9. 常用正则表达式 -- 费元星 java大神

    正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达 ...

  10. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)

    本文导航 -7. 安装 PHP0 -8. 安装 MariaDB 数据库 -9. 安装和配置 SSH 服务器 -10. 安装 GCC (GNU 编译器集) -11. 安装 Java 7. 安装 PHP ...