+ -
当前位置:首页 → 问答吧 → VIM三部曲

VIM三部曲

时间:2009-05-22

来源:互联网



VIM之配置篇:王者风范

10年来,我一直以为VIM是那么的古老,总觉得她已经古老得跟不上时代,所以10年来从未使用过她,10年后的今时,我无意间开始接触她,并慢慢的开始去了解她,才发现我已经无法自拔的爱上了她,她越来是那么的优美,那么让人着迷。tukiz07

网上关于VIM的手册和文章数不胜数,而且都比较详细,但是由于VIM过于复杂,让很多人一看到这些文章都已经望而止步,一团迷糊,所以我想分几个篇章来详细介绍VIM,不至于让人一看到VIM,就觉得打了退堂鼓。

要让人喜欢上一个东西,首先必须是她的外观,所以我的第一篇章都是以图片展示的形式来介绍,应用方面的介绍都没有涉及。
由于VIM的绝大部分功能都体现在操作上,图形的形式几乎无法体现VIM的特性来,而本篇非常的基础,目的是让大家有一个大概的了解,更重要的是想通过VIM的一些简单外表来吸引大家。

本人使用VIM不到一个月,不过每天大概有15个小时的时间都在使用和折腾VIM,花费了不少精力和时间,并结合网上各个版本拼凑制作了一个绿色版的VIM(包括GVim),第一次运行gvim,会提示初始化,确定即可。由于时间仓促,没来得及把配置文件转换到Linux下测试,所以该VIM仅针对Windows,有兴趣的用户可以自行修改到Linux下使用。

注:
1、绿色版不能放在含有空格的目录,否则taglist(函数、方法、变量等列表窗口)无法使用,除了这一点,没有别的要求。
2、Vim目录下有2个Gvim可执行程序,gvim.bak.exe是官方的版本,gvim.exe是网上一网友自己编译的版本,区别在于官方的版本无法识别很多字体,而后者可以识别所有字体,所以我默认采用的是网友编译的版本。
3、关于等宽字体。系统自带等宽字体中,Fixedsys在VIM是最优秀的,也是VIM默认使用的字体,其次就是新宋体(MS VS默认采用的字体)。第三方字体中,唯独YaHei_Consolas对中文支持最好,其它等宽字体显示的中文都是变型的,下载地址为:
http://rapidshare.com/files/116657698/YaHei.Consolas.1.12.zip.html

VIM for Windows的配置文件在VIM根目录下,文件名为_vimrc,配置文件里面涉及到绝对路径的地方,请根据自己的系统进行调整,或者直接注释掉,里面的很多配置选项我基本上都有中文注释。

增加damipan下载:
http://www.damipan.com/file/3B9hLeO.html

增加了namipan下载:
http://d.namipan.com/d/703419f0840b8f7f02de140677ce9e12265160d70ef5bc00
好,废话少说,进入主题!tukiz08

Vim.part05.rar (1.9 MB)

下载次数:538

2009-7-10 12:16

Vim.part06.rar (1.9 MB)

下载次数:403

2009-7-10 12:17

Vim.part07.rar (420.78 KB)

下载次数:283

2009-7-10 12:18

_vimrc.rar (7.9 KB)

下载次数:219

2009-7-10 12:18

Vim.part01.rar (1.9 MB)

下载次数:445

2009-7-10 12:21

Vim.part02.rar (1.9 MB)

下载次数:361

2009-7-10 12:22

Vim.part03.rar (1.9 MB)

下载次数:323

2009-7-10 12:24

Vim.part04.rar (1.9 MB)

下载次数:360

2009-7-10 12:25

作者: peacock   发布时间: 2009-05-22



第二篇章了,想去想来,还是觉得还没到写具体技巧的时机,VIM对于陌生着来说,的确很难让人接受,所以,第二篇完全以动画形式展现VIM的功能和特色。
由于折腾时间不久,所以只是学习了很小很小的一部分操作,做个引子,以后有好的心得和体会我会不断添加进来。tukiz01

作者: peacock   发布时间: 2009-05-22



以下是个人总结的一些常用操作方法、命令和指令。


常用的命令:
d0                       表示删除从当前光标到光标所在行首的内容
y$                       表示拷贝从当前光标到光标所在行尾的内容
d$                       表示删除从当前光标到光标所在行尾的内容
yfa                      表示拷贝从当前光标到光标后面的第一个a字符之间的内容
dfa                      表示删除从当前光标到光标后面的第一个a字符之间的内容
yy                       表示拷贝光标所在行
dd                       表示删除光标所在行
D                        表示删除从当前光标到光标所在行尾的内容
gg                       表示光标到第一行
G                        表示光标到结尾
h                        表示向左
j                        表示向下
k                        表示向上
l                        表示向右
H                        表示跳到屏幕的顶上
M                        表示跳到屏幕的中间
L                        表示跳到屏幕的下方
^                        表示到行首
$                        表示到行尾
:s /search/replace/g     表示把当前光标所处的行中的search替换成replace,并把所有search高亮显示;
:s /search/replace/gc    表示把当前光标所处的行中的search替换成replace,并把所有search高亮显示,c表示提示;
:s //replace             表示替换之前查找过的内容为replace
:%s /search/replace      表示把文档中所有search替换成replace;
:#,# s /search/replace/g 表示#号表示数字,表示从多少行到多少行,把search替换成replace;
:s /^/#/g                表示在当前行之前加上#,如果是转义字符,使用\,比如\/
:%s /\s\+$//             表示删除每行后面多余的空格
:ls                      表示查看缓冲区
:only                    表示关闭除自己以外的其它窗口
:tabnew                  表示新建一个空白的标签页
:tabe(dit)               表示在新的标签页中编辑一个文件
:ball                    表示打开所有缓冲区的文件
:bn                      表示切换到上一个缓冲区文件
:bp                      表示切换到下一个缓冲区文件
:bd(elete)               表示将当前文件冲缓冲区中删除
:b1                      表示打开缓冲区第一个文件,依此类推
:e#1                     表示编辑缓冲区第一个文件,依此类推
:retab                   表示将制表符转换为空格
:gD                      表示跳转到局部变量的定义处
viw                      表示选择光标所在的单词
yiw                      表示复制光标所在的单词
Ctr + o Ctrl + o         表示打开上次编辑的文件


关闭窗口    Ctrl + W + C,命令方式是:close
打开折叠    打开当前折叠:zo,打开所有折叠:zR
关闭折叠    关闭当前折叠:zc,关闭所有折叠:zM
窗口跳转    Ctrl + W + W,Ctrl + W + h|j|k|l表示分别切换到左下上右
关闭窗口    Ctrl + W + C
文件切换    Ctrl + ^
代码提示    Ctrl + X->Ctrl + O
括号匹配    %
行选模式    Shift + V
块选模式    v->Shift
块选模式    V->Shift,包括所在光标的整行
单行缩进    Shift + ,,和Shift + ..
多行缩进    选中行之后,输入2,再按Shift+.,表示向右缩进2次
区块缩进    Shift + , + %和Shift + . + %
复制内容    在要复制的区域开头按v,然后按Shift不放,按光标移动键到复制区域的末尾,按y,GVim模式下直接使用Ctrl + C
粘贴内容    按p,粘贴到当前光标之后;按P,粘贴到当前光标之前
查找内容    /word,word为被查找的内容
向下查找    n
向上查找    N
单词大写    gUw或者gUe
单词小写    guw或者gue
跳转到行    10gg或10G,跳到第10行
列选模式    在列头按Ctrl + Q,然后用J移动到列尾,如按d表示剪切,如果按y表示复制
自动缩进    按v选定后按=就是自动格式化代码,自动缩进,内部的递归的缩进都做到了
设置书签    :mx x只能是a-z的26个字母
跳转书签    ~x 跳转到书签处
定义跳转    先用ctags刷新tag,然后按Ctrl + ]跳转到函数定义的地方,Ctrl + T返回跳转的地方
快速查找    #快查向上查找当前光标所在的单词,*快速向下查找当前光标所在的单词
删除整行    dd
复制整行    yy
安装插件    Windows为:helptags $VIM/vimfiles/doc,Linux为:helptags ~/.vim/doc)
刷新配置    Windows为:so $VIM/_vimrc,Linux为:so ~/.vimrc
折叠符号    VIM专用折叠起始符号{{{,结束折腾符号}}}
改变编码    :set fileencoding=utf-8或者:set fileencoding=gbk
改变格式    :set fileformat=dos或者:set fileformat=unix


附件包含了手册和各种高级Vim操作应用。

Vim常用操作.rar (9.86 KB)

下载次数:200

2009-5-26 17:02

VIM使用进阶.rar (760.54 KB)

下载次数:260

2009-5-26 17:03

Vim用户手册中文版72.part1.rar (1.9 MB)

下载次数:285

2009-5-26 17:04

Vim用户手册中文版72.part2.rar (271.67 KB)

下载次数:217

2009-5-26 17:04

作者: peacock   发布时间: 2009-05-26



两张很有用的图

作者: peacock   发布时间: 2009-05-26



请楼主留主连载楼数
多留一点关系不大
版主会作调整的

作者: 七月十五   发布时间: 2009-05-26

受教了,马上去尝试下GVIM,谢谢楼主!tukiz14

作者: shooting   发布时间: 2009-05-26

感谢楼主。

作者: hydata   发布时间: 2009-05-26

好帖子,顶……

作者: 半个书生   发布时间: 2009-05-27



恩恩。。。。
补充一下。快速查找不需要用鼠标框住。。。光标下用*键就全局匹配了。
另外。。。代码注释网上有插件。C-p。就补全了。。。doc_f这样的代码注释并不好

作者: 某个人   发布时间: 2009-05-27

恩恩。。。。
补充一下。快速查找不需要用鼠标框住。。。光标下用*键就全局匹配了。
另外。。。。。如果你用鼠标。。就没办法真正体验vim的快捷。。。。。当打开vim。就和鼠标说say good bye之后。。。那快感。。刚刚的

作者: 某个人   发布时间: 2009-05-27

好文,支持一下。

作者: jackywdx   发布时间: 2009-05-27

恩恩。。。。
补充一下。快速查找不需要用鼠标框住。。。光标下用*键就全局匹配了。
另外。。。。。如果你用鼠标。。就没办法真正体验vim的快捷。。。。。当打开vim。就和鼠标说say good bye之后。。。那快感。。刚 ...
某个人 发表于 2009-5-27 09:56


嗯,这篇VIM文章只有一个地方使用了鼠标,而且是我自定义的,就是打开url链接,用的是Ctrl + 鼠标左键,习惯上打开链接都是用这个快捷键,当然可以修改成另外的快捷方式。

快速查找那个演示没有使用鼠标,而是我自定义的一个快捷方式(先按v选中字符串,然后再按./快速查找),可以快速查找任意的字符串,不仅是单词。

另外,快速查找单词我也在第三篇有专门说明:


快速查找    #快查向上查找当前光标所在的单词,*快速向下查找当前光标所在的单词

作者: peacock   发布时间: 2009-05-27

一直在找适合自己的编辑器  意外发现啊~

编辑器就好像战士手中的武器,没有趁手兵刃的武林高手,也无法大展拳脚啊~

期待VIM~  感谢楼主~  感谢PHPCHINA~  感谢VIM~

作者: 小竣   发布时间: 2009-05-27

帅呆了

作者: xing393939   发布时间: 2009-05-27

用过一段时间vim不过感觉功能还是不够强大
且不说调试功能,函数的提示不够智能,只能提示函数名,不能提示参数
文件间的跳转也不是很方便
也许是没有配置好吧,也许是不习惯

作者: mrhhsg   发布时间: 2009-05-27

不错·····改天试试···

作者: ttcw   发布时间: 2009-05-27

用过一段时间vim不过感觉功能还是不够强大
且不说调试功能,函数的提示不够智能,只能提示函数名,不能提示参数
文件间的跳转也不是很方便
也许是没有配置好吧,也许是不习惯
mrhhsg 发表于 2009-5-27 22:42

调试功能可以自己配置,比如xdebug
函数提示完全有参数提示,请看11-自动函数提示.gif这张动画图
文件跳转请看02-filelist.gif这张图
方法跳转请款06-方法快速跳转.gif这张动画图(可以实现不同文件的跳转)

作者: peacock   发布时间: 2009-05-27

你没理解他的意思。。。很多人不愿意花时间在配置上的。。。

作者: 某个人   发布时间: 2009-05-28

我最近也在玩这个。。

作者: adriandcb   发布时间: 2009-05-28

不如详细讲讲怎么配置

作者: dirac   发布时间: 2009-05-28

不如详细讲讲怎么配置
dirac 发表于 2009-5-28 14:41


VIM for Windows的配置文件在VIM根目录下,文件名为_vimrc,配置文件里面涉及到绝对路径的地方,请根据自己的系统进行调整,或者直接注释掉,里面的很多配置选项我基本上都有中文注释。

作者: peacock   发布时间: 2009-05-28

汗。。。又被我扔了。。。三分钟热度。。。习惯性开EP啊。。

作者: 生命如蓝   发布时间: 2009-05-28

汗。。。又被我扔了。。。三分钟热度。。。习惯性开EP啊。。
生命如蓝 发表于 2009-5-28 23:23

同习惯

作者: yafeikf   发布时间: 2009-05-28

在windows xp下运行gvim.exe出错。运行gvim.bak.exe正常。
why?

作者: lovelypp   发布时间: 2009-05-30

在windows xp下运行gvim.exe出错。运行gvim.bak.exe正常。
why?
lovelypp 发表于 2009-5-30 11:42


这个原因我也不太明白,如果你不使用第三方字体(非系统自带的字体),你可以用官方原版的gvim,也就是gvim.bak.exe

作者: peacock   发布时间: 2009-05-30

代码折叠,以前没用过,,搜搜去。

作者: yleo77   发布时间: 2009-06-09

配置的很完美了  :victory:

作者: 只喝可乐的猫   发布时间: 2009-06-09

哪里有下载?~?~~?~

作者: Alex_Best   发布时间: 2009-06-10

作者: 七月十五   发布时间: 2009-06-10

能不能把配置文件给发上来啊?~~?~

作者: Alex_Best   发布时间: 2009-06-10