普通人的编辑利器——Vim
来源:百度文库 编辑:神马文学网 时间:2024/05/23 14:20:36
2005年5月,我开始用Vim。此后渐入佳境,原来因版权自律而放弃盗版UltraEdit的遗憾一扫而空。并且,从Vim我才体会到,什么才是真正的编辑利器。在善用佳软或其他论坛发文,我都是先在Vim中输入,并方便高效地编辑好格式,再贴到网上。而我的通讯录、记事、读书笔记、工作记录也是在Vim中完成的。包括一些文档、数据的处理,让Vim过一下,也会提高不少效率。一句话,自用Vim以来,对它迷恋日深,几乎要超过Total Commander。但是,正如善用佳软及论坛发文所提,我大力推荐“用IrfanView/XnView代替ACDSee、用7-zip代替WinRar/WinZip、用GIMP代替PhotoShop”,但并未推荐Vim代替UltraEdit。这并不意味着Vim不能胜任,恰恰相反,如果说IrfanView等替代品比原共享软件还有些差距的话,Vim则远胜UltraEdit。不推荐的唯一原因是,Vim对初学者有点难。
但今天仍写了此文推荐给大家。原因有二:其一,编辑大人选定了题目,要向大众宣讲Vim和Emacs,这种勇气鼓舞了我。其二,已发两位高手的文章(王垠之《Emacs是一种信仰!世界最强编辑器介绍》,Dieken之《程序员的编辑器——Vim》)可能会吓住一些对它们产生了兴趣的人,对此我要做些修正。
因此本文内容有二:一是帮新手体验Vim。这部分有些象实验教程,多用实例,且行文风格尽量傻瓜化,以便于新手(包括以前从未听说过Vim)可以照我的操作,一步步体验Vim。二是介绍我的应用,即Vim如何便利我的日常工作和生活,而非编程。
1 对Vim的基本介绍
一句话介绍就是:Vim是一个超级超级强大的文本编辑器。它和Emacs是一个数量级;而我认为,比UltraEdit、Editpad、EmEditor要高一个(至少半个数量级)。如果你有兴趣,不妨一读《程序员的编辑器——Vim》,以便于对Vim有更详尽全面的理论认识。
要点1:Vim及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展,值得信赖。
要点2:Vim有模式。通俗地做一下对比。notepad无模式(或称为只有一种编辑模式),你按下j,就是在正文中输入j;要保存,就要ctrl+s;要下移一行,就要↓或鼠标。而在Vim中,打开一个文件后,并不处在编辑模式,而是Normal模式,此时你按j,Vim并不认为你要在正文中输入j,而是代表光标下移一行。此时按i表示进入insert模式,即编辑模式,即notepad的模式。编辑模式按Esc退回normal模式。normal模式下按:进入命令行模式,用于输入较复杂的命令。比如:w代表保存文件,:e a.txt代表打开文件a.txt。即Vim可以不用鼠标、方向键、菜单、Ctrl、alt……发出命令。因此,以下的体验中切记进入正确的模式:Esc到Normal;Normal下i到编辑;Normal下:到命令行。再说明一点是:文中:打头的是命令行模式,此外多数Normal模式。
要点3:复杂对抗复杂。Vim有的命令行很吓人,长长一串字符恍若天书。这些貌似复杂,实际上无非是一些简单命令的组合而已。借助于此,Vim用户可以实现非常复杂的需求。如果你没有这样的需求,就无须理会它们。
要点4:一能百能。这一点是Unix或命令行风格软件的显著长处,经过实用可以深刻体会。本文尽管有一些例子,但它运用之妙,存乎一心的感觉,仍未能充分展示。这里先打个比方,如果windows下某软件号称能炒菜,那意味着你点一下菜单,菜就做好了——这就是易用哲学。到底怎么做,你是没有多少发言权的,而是由软件开发者固化。而如果Vim说能,那它就是有一个“炒菜”命令,你可以把这个命令与原有的“原料”“数量”“火候”“风味”“灶具”命令结合在一起用,甚至在它前面加上“买菜”“洗菜”,后面加上“装盘”“洗碗”做成一个自动脚本,在合适的情况下自动执行。
要点5:无限灵活,个性由我。你只要有具体需求,Vim几乎都能满足。因此不同人的Vim是不一样的,即,把下载来的Vim配置成自己的Vim。
就此打住,开始体验之旅吧!
2 下载和安装
Vim是跨平台的。在Windows下,我们用的是gVim for windows版。最新的是7.0版,下载包约8MB,完全安装后约20MB。
注:体积太大?你如果是高手,完全可以把不用的文件删除(包括帮助文件,它是我见过的软件中最好的帮助),精简后的体积可以不到2MB。或反之,仅下载一个gVim.exe(1.5MB)就能运行。但对于这次体验,鉴于第一次使用,建议全部按默认项安装,这样才能达到文中预想的结果。
PCOnline下载,官方下载
安装,基本上,一直Agree、Next就行了。我通常是装在d:\program files\Vim下。
可参见
3 体验之旅
3.1 初见界面
安装完成后,按提示打开readme,你将看到
或自行打开桌面的快捷方式,也可直接运行d:\program files\Vim\Vim70\gVim.exe,你应该看到如此界面:
什么?难看?土?我第一次见到它也是这种感觉,现在却只觉得亲切。
再一点,你有没有奇怪它是中文界面?难道我给你下载的是汉化版?会不会捆绑流氓插件啊?你如果真这样想,我只能叹息无语了。
3.2 试读html
请把此网页保存为htm,比如test.htm,然后用Vim打开它。暂时用菜单吧!结果可能是这样:
平平无奇,是吧?因为它是一个标准的Vim,并且是性能优先,视效忽略的Vim。无妨,请进入命令行模式(就是按一下冒号,注意是英文冒号:),注意到最下面一行的变化了吧。再输入sy on再回车。是不是有颜色了?它应该看起来象这个样子
重要提醒:为简化起见,下文将用
:sy on
表示(先确认在Normal模式,如不确认,请按几次Esc)你先按:进入命令行模式,再输入sy on,再回车。
补充说明:sy表示语法加亮,on当然是打开。:sy clear表示取消加亮。
3.3 改头换面
体验Vim就要按Vim的思路,所以我们要把gVim改回Vim的本来面目。
对了,如果你认为它的界面很土,请更要多看一眼当前的样子,因为下面的操作后可能会更土!
执行如下命令
:set go=
这时的Vim应该是
不要大惊小怪,不就是菜单和工具栏不见了嘛?Vim中是不应该用到它们的。
补充说明:set表示一般性设置;go是gui option的缩写,就是界面;等于空就是什么都没有
再输入半条命令(先不要回车)
:colo ev
然后,按一下tab键。是不是自动补全为evening了?Vim是非常聪明的(但是不会象MS Word那样自做聪明)。
然后你回车,看到了什么?
天色全黑了?没错,现在是evening嘛。
补充说明:colo就是设置调色方案。Vim自带了近十种调色方案,当然你还可以在网上下载更多,或改编自己的调色方案。你可以直接在:colo (加一个空格)就连续tab,选择不同的配色方案来体验一下。当然,evening是比较经典的一种。我一直就用它。
3.4 准备并打开范例文件
简化起见,请下载test.txt并保存为d:\test.txt。然后,在Vim中输入半条命令
:tabnew d:\t
输到这里后不要回车,按一下tab,Vim会自动补全为test.txt的。如果不对,再按几次tab,直到正确为止。然后回车。
你会看到Vim打开了test.txt,并且是以多页签(tab page)的方式。你可以点击各页签在打开的文件中间切换(高手有更方便的键盘命令做法)。在Vim6.3中,还没有此功能。当然了,这并不意味着Vim的用户没办法享受多页签的便利,下载一个插件后——Vim有上千个插件——就可以了。面对多页签风格的流行(IE6→Maxthon→IE7),Vim7.0也新增了此功能。
我喜欢这种简单的页签。如果你认为此页签太难看,可试一下:set go=e
这时应如下效果
3.5 统一格式,修改vimrc
上面所操作的各种命令,都是对Vim的设置。把它们写到一个_Vimrc文件中就成了默认选项。每个Vim用户的_Vimrc文件都不一样,因为每个人的需求不同。
为了保证下面的操作得到预期的效果,请使用善用佳软提供的_Vimrc(附1)。依次执行下述操作:
① 关闭所有的Vim
② 找到你的d:\program files\Vim\Vim7\_vimrc,复制一份存档。
③ 用任意文本编辑器(Vim或记事本)打开_vimrc,用本文附1的内容替换它,并保存。
④ 重启Vim。
注:这并不是标准做法,但对windows用户是比较方便的做法。
3.6 打开test.txt
再次就模式进行提醒:Esc到Normal;Normal下i到编辑;Normal下:到命令行。
运行Vim,并在命令行执行
:e d:\test.txt
接下来,我们把此文章排一下版。如果你认为可以手工排版,请把此文件复制到10000行再发表意见。
3.7 分段并保存
原文没有分段,观察一下,发现可以在“以下是……”前面加回车,于是
:%s/以下是/\r&/gc
输入后,界面如下
并提示,请回答y或a。如果回答y,则替换当前一个;到了下一个,Vim还会再问你。所以,你回答几个y后不妨一a了之,全部替换。
补充说明:s表示替换;s/a/b 表示把a换为b;上一命令是把“以下是”换为“\r&”,\r表示回车,&表示被替换的部分,即“以下是”;%则表示全文;/gc表示一直替换(不是仅替换第一个),并且要用户确认。
看一下文件,你或许想,空2行可能更好。很简单,再重复一下刚才的命令就好了。不过,对强大的Vim来说,无须笨笨地重复输入上次的命令。在命令行按下:后,再按一下↑(向上的方向键),看到刚才的命令了吧?直接回车,提问时输入a,任务完成。
既有变化,请及时保存。命令是
:w
当然,你也可以按ctrl+s。但ctrl+s之所以有效,是因为我在_Vimrc中做了定义:当按下ctrl+s时,系统执行:w动作。因此,你完全可以定义其他热键,并把它映射到:w。
3.8 继续编辑
首先删除“坚持”两字,很简单,只要按gg2x就行了。为了看效果,你可以分开按:
gg,这时光标移到文章头。
2x,这时删掉了2个字符。
再一次体验Vim的神奇,比如按5x,于是5个字符消失了。当然,这5个字符是要保留的,没关系,你按一次u,就回来了吧?
再按一下Ctrl+r,是不是又没了?再来一次u,是不是又回来了?没错。u和Ctrl+r相当于(是相当于不是等同于)windows的undo和redo。
再试一下dd。是不是整行没有了?没关系,u回来就行了。
再试一下3dd。一下子删除了3行!没关系,u回来。
再来一个dG,哇,全文都没了?!仍然u回来啊。
3.9 更多编辑
任务a:把每一句分为一行,即达到如下效果
以**为荣、
以**为耻,
解决:如果你记得上面的替换命令,就会想到,可以用2次替换(“为荣、”换为“为荣、”加回车,“为耻,”换为“为耻,”加回车)。但这两次替换在Vim中完全可以一次完成,即用正则表达式,在“为”及后面2字符(“荣、”或“耻,”)后加入回车。怎么表示呢?
:%s/为../&\r/gc
看一下高亮,没问题,直接a
哇,是不是很壮观啊?没觉得?如果是一千行一万行呢?
任务b:把行末的标点去掉,即“荣”后的顿号和“耻”后的逗号。
解决:办法太多了,仍可以用替换。但此处还是展示一个新功能:列操作。
安全起见,按两下Esc,再gg$,这时光标应到了文章第一行最后一个字符,即顿号上。
再按ctrl+v,注意一下状态栏是否提示有“可视 块” 字样。(请确认你是采用了xbeta的_Vimrc文件,如果没有,请试一下ctrl+q)
再15jx,是否标点全部删除了?因为15j表示向下选中15行,x表示删除。
任务c:错落有致
操作:这次演示一下宏的用法,请严格按本教程操作。
先做一下确认:输入法没有打开,并Esc到normal状态,gg到文首。
按qa(q表示开始录制宏,宏的名字为a)
再shift+>>(表示按住shift,连按两下>,再放开shift。此时第一行应当向后tab了一下)
再j^(此时下移一行,并置光标于行首)
再shift+>>再shift+>>(即第二行向后tab两下)
再j^(下移一行,并将光标置于行首,为后续操作做准备)
再q(表示宏录制结束,Vim会提示记录完成)
这样宏录完了,可以用了。
再@a,看到了效果了吧?宏执行了一次,即3、4行成功了。还剩下6段,但是你不用按6次@a,而是只要按下6@a就行了!!!
太神奇了!回放一下?先u,再来一次6@a。既然可以6,当然可以千千万万!
补充说明:高手使用Vim是千变万化的。上面的前2个操作(分行+删标点),完全可以合成一个:%s/\(为.\)./\1\r/gc;或再把第3个操作(错落有致)融合到前一个操作中。
3.10 自由体验
体验光标移动:请随意按几下j和k,看看反应;再多按几下l和h,看看反应;然后,当你的光标在英文时,请按几下w和b。
对了,gVim的每一种功能,都有无限可能,因此,你也可以在上面几个字母前加上数字,比如 9w 2h,看它的反应。
体验自动补全:i进来吧,到目前为止还没写过字呢!为简单起见,你直接把用鼠标放到中文的下一行,我们把 Eight Do's and Eight Don'ts 输入一遍。但是,输入一个E,先别动!按ctrl+p是不是自动补全了?
体验大小写(每次操作后,都用u恢复原状),试一下g~~和guu和gUU和g??(g??后可以不按u,再按一次g??也能恢复原状)
神奇吗?这还是Vim功能的单个表演,真正的高手是把它们组合在一起,完成你自己独特的编辑需求。
3.11 体验语法高亮和折叠
此部分讲起来太复杂。如果你有其他编辑器如UltraEdit基础,会有助于你理解。但Vim在此方面的强大灵活,UltraEdit是难忘其项背的。
仍然是我们编辑的原文件,为简化计,请下载test2.txt;下载tx1.vim并保存在d:\program files\Vim\Vimfiles\syntax\tx1.vim
用Vim打开(比如要打开d:\test2.txt,请在Vim中:tabnew d:\test2.txt)它。平平无奇是吗?这是因为Vim并不知道这个文件要加亮。键入一个命令:setf tx1,这就相当于告诉Vim此文件的类型是tx1,所以就按照刚下载的tx1.vim进行高亮和折叠。
此时你会发现test2.txt完全折起来了。如何打开?你可用鼠标点最左边的+,当然,也可以用命令zr或zR打开(zR打开全部;zr打开当前;zM折叠全部;zm折叠当前)。打开后,看到高亮效果了吧。可以对文字设定前景色、背景色、粗、斜、下划线风格。
3.12 加密文件
文本文件打开最快,编辑起来最容易,并且在Vim中查找非常方便。因此,我用它来记日记,并作为通讯录。但是安全问题怎么办呢?很简单,Vim本身即可加密(录然解密也要用Vim)。在上述打开的文件中键入:X(是大写X),Vim就提示你设定密码,安全起见要确认第2次。然后,保存(键入:w)。把Vim或此文件关闭,再打开时,就要输入密码了。只有你输入正确的密码,才能得到正确的文件。
4 我的应用
Vim和Total Commander一样,我把它们都设定为开机自动运行,其应用不可胜数。
比如说通讯录管理,我未用任何软件,就用Vim管理一个address.txt。它可以实现:快速启动(我在Vim中定义了书签,键入`A就会打开),加密(用Vim的:X),超强搜索(无须多说),分组折叠(fold),email和电话号的高亮显示(自定义语法文件)吧。
再比如,笔者会用Vim来辅助word, excel, bbs发文,安全删除文件,制作精简的五笔词库等。具体可参见 《我常用的Vim功能》,《活学善用gVim,提高工作效率:实例篇(合集)》,《用gVim打造个性化记事本》等文章。
如下两图分别是我的个性化txt示例,和用Vim写此篇文章时的情况:
5 后记
这篇文章比最初计划写得长很多,但仍感觉很多非常优秀的功能没有提到。比如,眼下我写这篇文章,当然用Vim。但是因为有插图,所以用了htm格式。在插入图片时,我只要输入img,Vim会自动换为“<img src="">”,并把光标放到两个引号中间,以便于我输入图片名称。我输入lnk后,Vim会替换为“<a href=""></a>”。当我想看一下效果时,我只要:! g:\study\it\pconline\Vim\xbeta-Vim.htm 它就自动在浏览器中打开了。而这一个长长的路径,因为有了自动补全和命令行历史,也非常容易。而当一些url还未确定,需要标注时,我就用一个`1,Vim就会以醒目的红色块标出来,一目了然。而下次再打开此文件,它会记得我最后编辑的位置。
在用Vim之前,我曾试过几十种pad和editor,包括长期用Editpad,也曾经比较精通过UltraEdit,也曾经测过EmEditor, EditPlus等。但用了Vim之后,我不再关心windows世界的成千上万的编辑器。因为使用它们的逻辑是“如果有新需求,只能等软件升级或换一个软件”,而使用Vim的逻辑则是“如果有新需求,请做个性化配置或下载插件”。
Vim在手,夫复何求!
最后,向Vim所代表的追求卓越、开源共享的精神致敬!并希望有责任感的用户逐渐减少盗版!(完)
附1:_vimrc文件
set nocompatible
set magic
set ru "标尺信息
set ai
set sw=4
set ts=4
set dy=lastline "显示最多行,不用@@
"以上是缩进相关
set backspace=indent,eol,start
colo evening
sy on
set go= "无菜单、工具栏
set nobackup
set hlsearch
set showmatch
"tab mappings
map 1gt
map 2gt
map 3gt
map 4gt
map 5gt
map 6gt
map 7gt
map 8gt
map 9gt
map :tabnew
map :tabclose
map! 1gt
map! 2gt
map! 3gt
map! 4gt
map! 5gt
map! 6gt
map! 7gt
map! 8gt
map! 9gt
map! :tabnew
map! :tabclose
" Use CTRL-S for saving, also in Insert mode
noremap :update
vnoremap :update
inoremap :update
"2006-09-13 如下:保存视图
au BufWinLeave *.ztx mkview
au BufWinEnter *.ztx silent loadview
au BufNewFile,BufRead *.tx1 setf tx1
(完。原文出处:http://blog.sina.com.cn/s/blog_46dac66f010005kw.html)
分享到新浪微博
阅读(75350)┊评论 (109)┊收藏(3)┊打印┊举报
已投稿到:排行榜
前一篇:TC团购基本成功了!
后一篇:译|评选最佳文本编辑器-UltraEdit (下)
新浪广告共享计划
评论重要提示:警惕虚假中奖信息,点击查看详情 新浪开奖汽车手机马上领取
[发评论]
zenzen2006-09-25 21:34:30
支持
Hugh2006-09-29 08:15:32
比较通俗易懂,期待下一篇!!
foo2006-09-29 19:48:29
谢谢先!是再newsmth上看到的,然后就找到您的站点了。入门文章写得很好。请问文中您提供的_vimrc文件为什么不能下载呢?
回foo2006-09-30 08:27:52
关于后续文章及.vimrc:本文版权归PConline,要待全文发表后才有链接。
大梦拳民2006-10-10 20:42:49
好文章,正在学习Gvim中,不知道和在Linux的Vim下一不一样,因为打算切换到Ubuntu中。
re大梦拳民2006-10-10 21:56:00
gvim安装后也带有一个vim.exe。gvim.exe多一个图形界面。实际是一样的。我前几天Ubuntu了一下,不过又几天没用了。
小五2006-10-10 22:02:05
请问能推荐一个 整理硬盘的 软件吗?小巧实用一点的?谢谢
上次来从尾看到头长了不少知识,我也要把本本弄的更人性化更体帖些
在留言里留过言你的主页没有显示您可能没看见。又在这留了一下。
re小五2006-10-11 08:44:18
不明白你说的整理硬盘是什么意思。碎片?目录?我没用过此类软件,感觉养成好习惯比用智能工具更重要。
realmon2006-10-11 11:10:45
有没有办法让gvim每次启动都自动最大化?在_vimrc中可以设置吗?
回realmon2006-10-11 14:37:33
try this
autocmd GUIEnter * simalt ~x "Max GUI window on start
It's only gvim, not for vim
小五2006-10-11 19:49:54
就是碎片吧,说电脑经常装啊卸东西的会出现很多没用的东西,这个时候就应该用整理硬盘的工具,而电脑自代的效率太低了。那您说的养成好习惯是什么习惯哪?具体怎么做?
re小五2006-10-11 21:30:27
偶尔整理碎片,我就用系统自带工具。卸载是否干净,我基本靠人工看硬盘和注册表。没有什么太多心得。装软件我只从官方网站下载,不用任何非官方版。
大梦拳民2006-10-12 01:29:31
整理碎片,我用的是O&O_Defrag,(难道这个不是xbeta推荐的吗?记不清楚了)感觉不错,它可以在后台自动运行,占用资源也很小。
感觉这儿都快成一个小型的BBS了。好了,转入正题:
我每天晚上练习vimtutor已经进行了四天,现在对vimtutor里面的八讲大致已经了解熟悉了,想要更进一步学习Vim应该从何着手?目前我只想把Vim作为一个文本编辑器用,写程序可能是好久以后的事了。不知道有关文本编辑方面的命令和操作应该从何学习,我手头上有Vim的中文用户手册和台湾李果正(Edward G.J.Lee)写的一份《大家來學Vim》,不过讲得太全面了,不知道xbeta能不能介绍一些有关专门用于文本编辑排版方面的知识?转载一些别人写的相关文章也可以。
Ps:我在练习vimtutor的时候,好像有个命令不适合我安装的gVim7.0,不过记不清楚是那个命令了,也许是我自己的错误也说不定,想向xbeta证实一下,因为安装vimtutor是1.5版的,是不是陈旧了?
感觉在评论里面的东西太长了,查看起来不方便,如果不想影响别人查看评论的话,可否将回复发到我的邮箱tankb52#sohu.com ,当然,如果可以让大家都学习学习的话,直接在评论里面回复也好。
guest2006-10-12 09:30:37
vim的帮助是tutor之后最好的教程, 看完user manual部分, 善用help, 上手没问题
vim上手其实不难, 真正用好需要时间
guest2006-10-12 09:33:20
去pconline看了一下, 正文没细看, 后面的评论带给我很大的快乐, lol
小五2006-10-12 17:17:22
感谢版主和[匿名] 大梦拳民
俺是个菜鸟 很多东西不懂 我要搜搜怎么看硬盘和注册表去 感谢 继续关注其实知识。
realmon2006-10-12 21:55:49
autocmd GUIEnter * simalt ~x
works well,thx
VIM最佳技巧翻译2006-10-18 15:55:57
http://blog.21ic.org/blog.asp?name=li3&subjectid=1320
SunSpring2006-10-20 12:19:40
Xbeat:
你好.一直非常喜欢你的Blog.真的不错.
现在想问个问题,我的XP装完Vim后为什么还是英文的,不是中文的,要如何设置才能就成中文菜单?谢谢.望回复.
回SunSpring2006-10-20 19:37:32
确认你是中文XP,装的是gvim7.0 ?
如果是,先到newsmth.net之vim版搜一下。我也要查一下才能答你,但现在上不了水木社区。
SunSpring2006-10-23 17:14:34
一定是中文XP,也是Gvim7.0.都没有错.不知道为什么????
又2006-10-23 20:57:28
我现在echo v:lang和echo $lang的结果都是zh_CN
SunSpring2006-10-24 17:41:29
我的两台电脑,一台显示zh_CN(W2K3),一台显示chs(WinXP).XP上面装完为英文,W2K3为中文.
SunSpring2006-10-24 18:07:11
终于解决了,问题出在我用的一个软件(Pro/E)上面,因按装这个软件的中文版需要设置一个系统变量,我设置了lang=chs,这个变量影响了Vim的vlang变量,所以才会出现英文.册除后就解决了.是不是语言包中应该包含chs才好.这样就可以两全齐美了.
mgc2006-10-25 00:07:40
你真觉得vim好用吗?我承认它功能的确很牛,但你有没有想到这个东西不适合编辑中文?写文章的时候,打错了字,你要先关掉输入法,切换到命令模式,再去执行删除命令?我只会这样操作,不知道是我不会用还是就是这样的。要真的是这样,那vim真的是不适合编辑中文的。
回mgc2006-10-25 08:05:25
呵呵,你的质疑多于探讨。
用vim处理中文远没有处理字母语言方便。但变通之后,仍很方便。①用backspace删 ②标准输入法可以在i模式下按esc后,自动切换到英文。如,海峰五笔极点五笔5.1在gvim7中可以。
mgc2006-11-06 01:44:46
不管我是质疑还是探讨。我就是在使用VIM之后觉得,中文输入和命令模式之间的切换存在很严重的不便,我才放弃使用vim的。
不用海峰五笔极点五笔5.1的人怎么才能方便的切换呢?我用紫光、搜狗。
比如你在录入的过程中,看到上边几行有错别字,你该如何操作?键盘上的上下左右移动的快捷键只能在命令行的模式才可使用。我觉得最快的办法就是用鼠标选中键盘del!但这恰恰是windows中最基本的操作方式。vim快速的优点被中文输入彻底抹杀了。纯粹的键盘操作,其实是早期没有鼠标的结果,但它的优点也是显而易见的。
如果最基本的录入还不如notepad来的方便,就算是vim有再强大的功能,它终究也是一小部分高级用户手中的工具,它会永远和普通用户绝缘。
就算我用到了vim的高级功能,我还是会选择在notepad中录入完成后再用vim打开执行高级操作。
还有vim要进行图文混排的话,必须要会用html代码,这是绝大部分人不可能做到的。
普通人,什么是普通人?google软件开发团队中的普通人?你知道我教我妈用notepad打字有多么费劲儿?vim?一边凉快着吧。
普通人对文字的要求其实是非常简单的:录入+简单的排版。就像我在这里给你的评论一样,连缩进都不用的,回车搞定。
word的确是自作聪明,很烦人的。但我想,只需要用学习vim十分之一的时间学一下word,你会很容易把word变傻的。
回mgc2006-11-06 08:38:48
我的题目来由在文中已解释。vim(现在看来应界定为GVIM)不是编程人员的专利,普通人也可以用它来作为编辑利器。不过,无太多需求的话,用这个利器是得不偿失的。
Leo2006-12-13 17:52:04
几个月前就开始了解 Gvim,确实也是感觉在中文输入法下非常别扭,希望能探讨一个用于改造输入法适合 GVim的模式。也就是具备什么条件的输入法适用于 GVIM。当然我们普通人无法去修改输入法,但至少可以向作者提建议,如果 GVIM 确实是值得去用,相信输入法作者会考虑的。
Hgbser2006-12-14 00:28:39
喜欢用绿色免安装的,不知道哪有?
xbeta2006-12-14 12:58:24
不仅vim与输入法不太和谐,其实任何快捷键操作方便而又有文字输入的软件(如TC)都有此问题。古人探讨过很久了,难有大进步。Leo可以再思考一下,分享详细观点。
xbeta2006-12-14 13:00:45
vim的绿色免安装版?这是一个很少有人关注的内容。试用vim官方下载页的vim70rt.zip加gvim70.zip吧。
eikc2006-12-14 19:47:10
我用GVIM就是绿色版的,当初安装完之后就直接做了一个压缩备份。后来换了系统,并没有再安装而是直接释放到分区中就开始使用了。第一次用回有一个提示,然后就正常使用。不过好像默认的配置文件也要记得做一个备份的。
hgb2006-12-30 11:19:00
看了你的文章后,在你给的链接上下了个zip的,用了几天觉得太不适应了。尤其配置文件极其难写。“普通人”的编辑利器还是word。VIM适合那些在windows上改配置不用选项按钮,而是喜欢打开ini文件自己编辑的人。
回hgb2006-12-30 12:54:33
VIM用来代替notepad,不能用来代替word。
实际上,并不是每个人都有很多要求,以至于要一个这么复杂的工具来处理txt。
两方面都是对的:①用VIM/Emacs之前不会想到文本编辑器还能好用到这个地步。②不是所有的人都需要它——甚至绝大多数人都不需要。
hgb2007-01-03 01:51:45
只用来文本编辑的GVIM该如何配置呢?从网上百度回来的配置都十几二十K,结合帮助研究了几天收获寥寥。xbeta能不能写一个像极点高级设置那样选项后面带中文说明的文章造福我等菜鸟。
VIM不太普及除了太过自由和独特的操作方式外,还在于没有人结合中国大部分网民的实际情况对它进行本地化改造。
回hgb2007-01-03 14:18:39
只用来文本编辑的GVIM——这个基本默认的就可以。开始不要做配置,了解它的查找替换先。这是强项。
eikc2007-01-03 19:02:46
前两天我用了一段时间。象上面所说的问题其实都可以解决的,很简单。比如在编辑模式下要临时执行移动光标、修改文字、删除等,不一定非要切换到命令模式下(通过按ESC),简单的命令可以使用Ctrl+O的方式,复杂一些的可以通过自定义快捷键的方式。比如我自己将Alt+H定义为插入模式下的光标左移动,Alt+J向下移动等。而实现原来我所说的在“中文句子”之间移动的功能我也实现了,就是通过在配置文件中定义一个F3键实现查找,这样按下F3键之后,就可以在带有,。……等等中文标点和数字之间快速移动光标了。其实这些功能实现起来都很简单的。
不过我自己感觉,如果真的只是做一些简单功能的话,其实使用Emeditor更好一些。最简单的,如果打错字的话,那么需要删除错别字,而VIM之中只能在编辑模式下使用Ctrl+H是比较快捷的。可是这样删除也只是删除单个字符而已。在Emeditor之中却是可以采用撤销功能(我同样定义到Ctrl+H),这样就可以删除输入错误的“中文单词”了。
其实就单纯的文字编辑功能上来说,我想用Gvim其实主要是三个好处:一是完全免费,不牵涉到盗版问题;二是它的正则表达式运行起来要比Emeditor快速不少;三是资源占用可能相对速度要少一些,打开大文件的速度要快一些。而相对不足之处其实可以通过自己的学习来改进的。
赞eikc2007-01-04 08:31:27
eikc兄的diy精神太赞了!深赞同最后一句话。GVIM是一款优秀的“通用”编辑器,在某些地方比不上某些有专门优势的编辑器(如日本人开发的Emeditor处理双字节字符),但拓展性很强,就算有缺点,也基本能避免或绕过。
ccc2007-01-14 02:40:32
eikc正如你自己所说,是你自己感觉而已,所以不能做数。
另外的人:
还有就是题目写的很明白了,是“编辑利器”,理所当然要花点工夫。假如你只希望用些低效率,但更容易上手的工具的话。那就不属于利器的范畴了。
还有回楼上所有的认为vim不适合的朋友:习惯。
另外认为word更好的朋友,你为word掏出过多少钱。即使是用字处理,即使是用D版的朋友们,至少麻烦你用下WPS的D版。就当支持国产的行不!
配置文件难写??我第一次用电脑的时候,花了半天的时间弄懂了开始菜单是怎么回事,第一次看黄色,主页被改,花了多少时间来学习注册表。真正决定难度的不是vim,而是你认为这个不值得你花时间学习,所以才有了难度。
xbeta2007-01-15 09:01:18
不太建议新手去过多研究配置文件,我倒觉得查找替换是最值得研究和实用的。
魔鬼天使2007-02-01 17:17:40
一堆鸟文,界面又这么丑(不友好),偶还是用记事本吧
一俗人2007-02-09 19:47:45
文章写的不错(客观)
不过你见过几个普通人用vim?(还是客观)
天使魔鬼2007-02-09 21:19:53
同意楼上的,xbeta有点自恋,自我陶醉,呵呵
欢迎使用精品D版软件,需要什么,表达一下,偶会无偿提供,哈哈
necrohan2007-04-15 14:25:50
“这是神的编辑器”
——不是我说的
liuxun2007-04-20 04:59:34
据我的经验,喜欢开源、勇于改配置文件、关心效率和资源占用,然又需要使用中文,并且不那么发烧的朋友——
可以试试Scite:)
刚还是用gvim2007-04-26 20:18:51
再输入半条命令(先不要回车)
:colo ev
然后,按一下tab键。是不是自动补全为evening了?VIM是非常聪明的(但是不会象MS Word那样自做聪明)。
然后你回车,看到了什么?
-------------------------------------------
我的是gvim,按你说的做了,可是按tab建后不会自动补全evening,胡乱实验,结果是shift+tab可以自动补全,不知道是不是配置的问题?
新浪网友2007-04-26 21:11:27
为什么我的是英文的菜单,怎么改成中文的啊
normyy2007-05-01 14:27:30
请问如何用正则表达式查找到所有用------分隔起来的行?例子如下:
------------------------------------------------
Table of Contents
------------------------------------------------
1.0 GoldWave Features
2.0 Installation, Uninstall
3.0 Important Additional Notes
4.0 Evaluation, Copyright & Distribution,
------------------------------------------------
1.0 GoldWave Features
------------------------------------------------
Vim不能明白我要的是第一条虚线和第二条虚线间的行,不是第二和第三条之间的大量文本。请问怎么办?
答网友2007-05-01 21:29:01
1. tab vs Shift+tab补全问题没太研究,已转发水木vim版
2. 菜单非中文,可试在_vimrc首行加一句 se lm=zh.gb2312试一下。参见:h 'lm'
3. ----问题已转发vim版
但今天仍写了此文推荐给大家。原因有二:其一,编辑大人选定了题目,要向大众宣讲Vim和Emacs,这种勇气鼓舞了我。其二,已发两位高手的文章(王垠之《Emacs是一种信仰!世界最强编辑器介绍》,Dieken之《程序员的编辑器——Vim》)可能会吓住一些对它们产生了兴趣的人,对此我要做些修正。
因此本文内容有二:一是帮新手体验Vim。这部分有些象实验教程,多用实例,且行文风格尽量傻瓜化,以便于新手(包括以前从未听说过Vim)可以照我的操作,一步步体验Vim。二是介绍我的应用,即Vim如何便利我的日常工作和生活,而非编程。
1 对Vim的基本介绍
一句话介绍就是:Vim是一个超级超级强大的文本编辑器。它和Emacs是一个数量级;而我认为,比UltraEdit、Editpad、EmEditor要高一个(至少半个数量级)。如果你有兴趣,不妨一读《程序员的编辑器——Vim》,以便于对Vim有更详尽全面的理论认识。
要点1:Vim及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展,值得信赖。
要点2:Vim有模式。通俗地做一下对比。notepad无模式(或称为只有一种编辑模式),你按下j,就是在正文中输入j;要保存,就要ctrl+s;要下移一行,就要↓或鼠标。而在Vim中,打开一个文件后,并不处在编辑模式,而是Normal模式,此时你按j,Vim并不认为你要在正文中输入j,而是代表光标下移一行。此时按i表示进入insert模式,即编辑模式,即notepad的模式。编辑模式按Esc退回normal模式。normal模式下按:进入命令行模式,用于输入较复杂的命令。比如:w代表保存文件,:e a.txt代表打开文件a.txt。即Vim可以不用鼠标、方向键、菜单、Ctrl、alt……发出命令。因此,以下的体验中切记进入正确的模式:Esc到Normal;Normal下i到编辑;Normal下:到命令行。再说明一点是:文中:打头的是命令行模式,此外多数Normal模式。
要点3:复杂对抗复杂。Vim有的命令行很吓人,长长一串字符恍若天书。这些貌似复杂,实际上无非是一些简单命令的组合而已。借助于此,Vim用户可以实现非常复杂的需求。如果你没有这样的需求,就无须理会它们。
要点4:一能百能。这一点是Unix或命令行风格软件的显著长处,经过实用可以深刻体会。本文尽管有一些例子,但它运用之妙,存乎一心的感觉,仍未能充分展示。这里先打个比方,如果windows下某软件号称能炒菜,那意味着你点一下菜单,菜就做好了——这就是易用哲学。到底怎么做,你是没有多少发言权的,而是由软件开发者固化。而如果Vim说能,那它就是有一个“炒菜”命令,你可以把这个命令与原有的“原料”“数量”“火候”“风味”“灶具”命令结合在一起用,甚至在它前面加上“买菜”“洗菜”,后面加上“装盘”“洗碗”做成一个自动脚本,在合适的情况下自动执行。
要点5:无限灵活,个性由我。你只要有具体需求,Vim几乎都能满足。因此不同人的Vim是不一样的,即,把下载来的Vim配置成自己的Vim。
就此打住,开始体验之旅吧!
2 下载和安装
Vim是跨平台的。在Windows下,我们用的是gVim for windows版。最新的是7.0版,下载包约8MB,完全安装后约20MB。
注:体积太大?你如果是高手,完全可以把不用的文件删除(包括帮助文件,它是我见过的软件中最好的帮助),精简后的体积可以不到2MB。或反之,仅下载一个gVim.exe(1.5MB)就能运行。但对于这次体验,鉴于第一次使用,建议全部按默认项安装,这样才能达到文中预想的结果。
PCOnline下载,官方下载
安装,基本上,一直Agree、Next就行了。我通常是装在d:\program files\Vim下。
可参见
3 体验之旅
3.1 初见界面
安装完成后,按提示打开readme,你将看到
或自行打开桌面的快捷方式,也可直接运行d:\program files\Vim\Vim70\gVim.exe,你应该看到如此界面:
什么?难看?土?我第一次见到它也是这种感觉,现在却只觉得亲切。
再一点,你有没有奇怪它是中文界面?难道我给你下载的是汉化版?会不会捆绑流氓插件啊?你如果真这样想,我只能叹息无语了。
3.2 试读html
请把此网页保存为htm,比如test.htm,然后用Vim打开它。暂时用菜单吧!结果可能是这样:
平平无奇,是吧?因为它是一个标准的Vim,并且是性能优先,视效忽略的Vim。无妨,请进入命令行模式(就是按一下冒号,注意是英文冒号:),注意到最下面一行的变化了吧。再输入sy on再回车。是不是有颜色了?它应该看起来象这个样子
重要提醒:为简化起见,下文将用
:sy on
表示(先确认在Normal模式,如不确认,请按几次Esc)你先按:进入命令行模式,再输入sy on,再回车。
补充说明:sy表示语法加亮,on当然是打开。:sy clear表示取消加亮。
3.3 改头换面
体验Vim就要按Vim的思路,所以我们要把gVim改回Vim的本来面目。
对了,如果你认为它的界面很土,请更要多看一眼当前的样子,因为下面的操作后可能会更土!
执行如下命令
:set go=
这时的Vim应该是
不要大惊小怪,不就是菜单和工具栏不见了嘛?Vim中是不应该用到它们的。
补充说明:set表示一般性设置;go是gui option的缩写,就是界面;等于空就是什么都没有
再输入半条命令(先不要回车)
:colo ev
然后,按一下tab键。是不是自动补全为evening了?Vim是非常聪明的(但是不会象MS Word那样自做聪明)。
然后你回车,看到了什么?
天色全黑了?没错,现在是evening嘛。
补充说明:colo就是设置调色方案。Vim自带了近十种调色方案,当然你还可以在网上下载更多,或改编自己的调色方案。你可以直接在:colo (加一个空格)就连续tab,选择不同的配色方案来体验一下。当然,evening是比较经典的一种。我一直就用它。
3.4 准备并打开范例文件
简化起见,请下载test.txt并保存为d:\test.txt。然后,在Vim中输入半条命令
:tabnew d:\t
输到这里后不要回车,按一下tab,Vim会自动补全为test.txt的。如果不对,再按几次tab,直到正确为止。然后回车。
你会看到Vim打开了test.txt,并且是以多页签(tab page)的方式。你可以点击各页签在打开的文件中间切换(高手有更方便的键盘命令做法)。在Vim6.3中,还没有此功能。当然了,这并不意味着Vim的用户没办法享受多页签的便利,下载一个插件后——Vim有上千个插件——就可以了。面对多页签风格的流行(IE6→Maxthon→IE7),Vim7.0也新增了此功能。
我喜欢这种简单的页签。如果你认为此页签太难看,可试一下:set go=e
这时应如下效果
3.5 统一格式,修改vimrc
上面所操作的各种命令,都是对Vim的设置。把它们写到一个_Vimrc文件中就成了默认选项。每个Vim用户的_Vimrc文件都不一样,因为每个人的需求不同。
为了保证下面的操作得到预期的效果,请使用善用佳软提供的_Vimrc(附1)。依次执行下述操作:
① 关闭所有的Vim
② 找到你的d:\program files\Vim\Vim7\_vimrc,复制一份存档。
③ 用任意文本编辑器(Vim或记事本)打开_vimrc,用本文附1的内容替换它,并保存。
④ 重启Vim。
注:这并不是标准做法,但对windows用户是比较方便的做法。
3.6 打开test.txt
再次就模式进行提醒:Esc到Normal;Normal下i到编辑;Normal下:到命令行。
运行Vim,并在命令行执行
:e d:\test.txt
接下来,我们把此文章排一下版。如果你认为可以手工排版,请把此文件复制到10000行再发表意见。
3.7 分段并保存
原文没有分段,观察一下,发现可以在“以下是……”前面加回车,于是
:%s/以下是/\r&/gc
输入后,界面如下
并提示,请回答y或a。如果回答y,则替换当前一个;到了下一个,Vim还会再问你。所以,你回答几个y后不妨一a了之,全部替换。
补充说明:s表示替换;s/a/b 表示把a换为b;上一命令是把“以下是”换为“\r&”,\r表示回车,&表示被替换的部分,即“以下是”;%则表示全文;/gc表示一直替换(不是仅替换第一个),并且要用户确认。
看一下文件,你或许想,空2行可能更好。很简单,再重复一下刚才的命令就好了。不过,对强大的Vim来说,无须笨笨地重复输入上次的命令。在命令行按下:后,再按一下↑(向上的方向键),看到刚才的命令了吧?直接回车,提问时输入a,任务完成。
既有变化,请及时保存。命令是
:w
当然,你也可以按ctrl+s。但ctrl+s之所以有效,是因为我在_Vimrc中做了定义:当按下ctrl+s时,系统执行:w动作。因此,你完全可以定义其他热键,并把它映射到:w。
3.8 继续编辑
首先删除“坚持”两字,很简单,只要按gg2x就行了。为了看效果,你可以分开按:
gg,这时光标移到文章头。
2x,这时删掉了2个字符。
再一次体验Vim的神奇,比如按5x,于是5个字符消失了。当然,这5个字符是要保留的,没关系,你按一次u,就回来了吧?
再按一下Ctrl+r,是不是又没了?再来一次u,是不是又回来了?没错。u和Ctrl+r相当于(是相当于不是等同于)windows的undo和redo。
再试一下dd。是不是整行没有了?没关系,u回来就行了。
再试一下3dd。一下子删除了3行!没关系,u回来。
再来一个dG,哇,全文都没了?!仍然u回来啊。
3.9 更多编辑
任务a:把每一句分为一行,即达到如下效果
以**为荣、
以**为耻,
解决:如果你记得上面的替换命令,就会想到,可以用2次替换(“为荣、”换为“为荣、”加回车,“为耻,”换为“为耻,”加回车)。但这两次替换在Vim中完全可以一次完成,即用正则表达式,在“为”及后面2字符(“荣、”或“耻,”)后加入回车。怎么表示呢?
:%s/为../&\r/gc
看一下高亮,没问题,直接a
哇,是不是很壮观啊?没觉得?如果是一千行一万行呢?
任务b:把行末的标点去掉,即“荣”后的顿号和“耻”后的逗号。
解决:办法太多了,仍可以用替换。但此处还是展示一个新功能:列操作。
安全起见,按两下Esc,再gg$,这时光标应到了文章第一行最后一个字符,即顿号上。
再按ctrl+v,注意一下状态栏是否提示有“可视 块” 字样。(请确认你是采用了xbeta的_Vimrc文件,如果没有,请试一下ctrl+q)
再15jx,是否标点全部删除了?因为15j表示向下选中15行,x表示删除。
任务c:错落有致
操作:这次演示一下宏的用法,请严格按本教程操作。
先做一下确认:输入法没有打开,并Esc到normal状态,gg到文首。
按qa(q表示开始录制宏,宏的名字为a)
再shift+>>(表示按住shift,连按两下>,再放开shift。此时第一行应当向后tab了一下)
再j^(此时下移一行,并置光标于行首)
再shift+>>再shift+>>(即第二行向后tab两下)
再j^(下移一行,并将光标置于行首,为后续操作做准备)
再q(表示宏录制结束,Vim会提示记录完成)
这样宏录完了,可以用了。
再@a,看到了效果了吧?宏执行了一次,即3、4行成功了。还剩下6段,但是你不用按6次@a,而是只要按下6@a就行了!!!
太神奇了!回放一下?先u,再来一次6@a。既然可以6,当然可以千千万万!
补充说明:高手使用Vim是千变万化的。上面的前2个操作(分行+删标点),完全可以合成一个:%s/\(为.\)./\1\r/gc;或再把第3个操作(错落有致)融合到前一个操作中。
3.10 自由体验
体验光标移动:请随意按几下j和k,看看反应;再多按几下l和h,看看反应;然后,当你的光标在英文时,请按几下w和b。
对了,gVim的每一种功能,都有无限可能,因此,你也可以在上面几个字母前加上数字,比如 9w 2h,看它的反应。
体验自动补全:i进来吧,到目前为止还没写过字呢!为简单起见,你直接把用鼠标放到中文的下一行,我们把 Eight Do's and Eight Don'ts 输入一遍。但是,输入一个E,先别动!按ctrl+p是不是自动补全了?
体验大小写(每次操作后,都用u恢复原状),试一下g~~和guu和gUU和g??(g??后可以不按u,再按一次g??也能恢复原状)
神奇吗?这还是Vim功能的单个表演,真正的高手是把它们组合在一起,完成你自己独特的编辑需求。
3.11 体验语法高亮和折叠
此部分讲起来太复杂。如果你有其他编辑器如UltraEdit基础,会有助于你理解。但Vim在此方面的强大灵活,UltraEdit是难忘其项背的。
仍然是我们编辑的原文件,为简化计,请下载test2.txt;下载tx1.vim并保存在d:\program files\Vim\Vimfiles\syntax\tx1.vim
用Vim打开(比如要打开d:\test2.txt,请在Vim中:tabnew d:\test2.txt)它。平平无奇是吗?这是因为Vim并不知道这个文件要加亮。键入一个命令:setf tx1,这就相当于告诉Vim此文件的类型是tx1,所以就按照刚下载的tx1.vim进行高亮和折叠。
此时你会发现test2.txt完全折起来了。如何打开?你可用鼠标点最左边的+,当然,也可以用命令zr或zR打开(zR打开全部;zr打开当前;zM折叠全部;zm折叠当前)。打开后,看到高亮效果了吧。可以对文字设定前景色、背景色、粗、斜、下划线风格。
3.12 加密文件
文本文件打开最快,编辑起来最容易,并且在Vim中查找非常方便。因此,我用它来记日记,并作为通讯录。但是安全问题怎么办呢?很简单,Vim本身即可加密(录然解密也要用Vim)。在上述打开的文件中键入:X(是大写X),Vim就提示你设定密码,安全起见要确认第2次。然后,保存(键入:w)。把Vim或此文件关闭,再打开时,就要输入密码了。只有你输入正确的密码,才能得到正确的文件。
4 我的应用
Vim和Total Commander一样,我把它们都设定为开机自动运行,其应用不可胜数。
比如说通讯录管理,我未用任何软件,就用Vim管理一个address.txt。它可以实现:快速启动(我在Vim中定义了书签,键入`A就会打开),加密(用Vim的:X),超强搜索(无须多说),分组折叠(fold),email和电话号的高亮显示(自定义语法文件)吧。
再比如,笔者会用Vim来辅助word, excel, bbs发文,安全删除文件,制作精简的五笔词库等。具体可参见 《我常用的Vim功能》,《活学善用gVim,提高工作效率:实例篇(合集)》,《用gVim打造个性化记事本》等文章。
如下两图分别是我的个性化txt示例,和用Vim写此篇文章时的情况:
5 后记
这篇文章比最初计划写得长很多,但仍感觉很多非常优秀的功能没有提到。比如,眼下我写这篇文章,当然用Vim。但是因为有插图,所以用了htm格式。在插入图片时,我只要输入img,Vim会自动换为“<img src="">”,并把光标放到两个引号中间,以便于我输入图片名称。我输入lnk后,Vim会替换为“<a href=""></a>”。当我想看一下效果时,我只要:! g:\study\it\pconline\Vim\xbeta-Vim.htm 它就自动在浏览器中打开了。而这一个长长的路径,因为有了自动补全和命令行历史,也非常容易。而当一些url还未确定,需要标注时,我就用一个`1,Vim就会以醒目的红色块标出来,一目了然。而下次再打开此文件,它会记得我最后编辑的位置。
在用Vim之前,我曾试过几十种pad和editor,包括长期用Editpad,也曾经比较精通过UltraEdit,也曾经测过EmEditor, EditPlus等。但用了Vim之后,我不再关心windows世界的成千上万的编辑器。因为使用它们的逻辑是“如果有新需求,只能等软件升级或换一个软件”,而使用Vim的逻辑则是“如果有新需求,请做个性化配置或下载插件”。
Vim在手,夫复何求!
最后,向Vim所代表的追求卓越、开源共享的精神致敬!并希望有责任感的用户逐渐减少盗版!(完)
附1:_vimrc文件
set nocompatible
set magic
set ru "标尺信息
set ai
set sw=4
set ts=4
set dy=lastline "显示最多行,不用@@
"以上是缩进相关
set backspace=indent,eol,start
colo evening
sy on
set go= "无菜单、工具栏
set nobackup
set hlsearch
set showmatch
"tab mappings
map
map
map
map
map
map
map
map
map
map
map
map!
map!
map!
map!
map!
map!
map!
map!
map!
map!
map!
" Use CTRL-S for saving, also in Insert mode
noremap
vnoremap
inoremap
"2006-09-13 如下:保存视图
au BufWinLeave *.ztx mkview
au BufWinEnter *.ztx silent loadview
au BufNewFile,BufRead *.tx1 setf tx1
(完。原文出处:http://blog.sina.com.cn/s/blog_46dac66f010005kw.html)
分享到新浪微博
阅读(75350)┊评论 (109)┊收藏(3)┊打印┊举报
已投稿到:排行榜
前一篇:TC团购基本成功了!
后一篇:译|评选最佳文本编辑器-UltraEdit (下)
新浪广告共享计划
评论重要提示:警惕虚假中奖信息,点击查看详情 新浪开奖汽车手机马上领取
[发评论]
zenzen2006-09-25 21:34:30
支持
Hugh2006-09-29 08:15:32
比较通俗易懂,期待下一篇!!
foo2006-09-29 19:48:29
谢谢先!是再newsmth上看到的,然后就找到您的站点了。入门文章写得很好。请问文中您提供的_vimrc文件为什么不能下载呢?
回foo2006-09-30 08:27:52
关于后续文章及.vimrc:本文版权归PConline,要待全文发表后才有链接。
大梦拳民2006-10-10 20:42:49
好文章,正在学习Gvim中,不知道和在Linux的Vim下一不一样,因为打算切换到Ubuntu中。
re大梦拳民2006-10-10 21:56:00
gvim安装后也带有一个vim.exe。gvim.exe多一个图形界面。实际是一样的。我前几天Ubuntu了一下,不过又几天没用了。
小五2006-10-10 22:02:05
请问能推荐一个 整理硬盘的 软件吗?小巧实用一点的?谢谢
上次来从尾看到头长了不少知识,我也要把本本弄的更人性化更体帖些
在留言里留过言你的主页没有显示您可能没看见。又在这留了一下。
re小五2006-10-11 08:44:18
不明白你说的整理硬盘是什么意思。碎片?目录?我没用过此类软件,感觉养成好习惯比用智能工具更重要。
realmon2006-10-11 11:10:45
有没有办法让gvim每次启动都自动最大化?在_vimrc中可以设置吗?
回realmon2006-10-11 14:37:33
try this
autocmd GUIEnter * simalt ~x "Max GUI window on start
It's only gvim, not for vim
小五2006-10-11 19:49:54
就是碎片吧,说电脑经常装啊卸东西的会出现很多没用的东西,这个时候就应该用整理硬盘的工具,而电脑自代的效率太低了。那您说的养成好习惯是什么习惯哪?具体怎么做?
re小五2006-10-11 21:30:27
偶尔整理碎片,我就用系统自带工具。卸载是否干净,我基本靠人工看硬盘和注册表。没有什么太多心得。装软件我只从官方网站下载,不用任何非官方版。
大梦拳民2006-10-12 01:29:31
整理碎片,我用的是O&O_Defrag,(难道这个不是xbeta推荐的吗?记不清楚了)感觉不错,它可以在后台自动运行,占用资源也很小。
感觉这儿都快成一个小型的BBS了。好了,转入正题:
我每天晚上练习vimtutor已经进行了四天,现在对vimtutor里面的八讲大致已经了解熟悉了,想要更进一步学习Vim应该从何着手?目前我只想把Vim作为一个文本编辑器用,写程序可能是好久以后的事了。不知道有关文本编辑方面的命令和操作应该从何学习,我手头上有Vim的中文用户手册和台湾李果正(Edward G.J.Lee)写的一份《大家來學Vim》,不过讲得太全面了,不知道xbeta能不能介绍一些有关专门用于文本编辑排版方面的知识?转载一些别人写的相关文章也可以。
Ps:我在练习vimtutor的时候,好像有个命令不适合我安装的gVim7.0,不过记不清楚是那个命令了,也许是我自己的错误也说不定,想向xbeta证实一下,因为安装vimtutor是1.5版的,是不是陈旧了?
感觉在评论里面的东西太长了,查看起来不方便,如果不想影响别人查看评论的话,可否将回复发到我的邮箱tankb52#sohu.com ,当然,如果可以让大家都学习学习的话,直接在评论里面回复也好。
guest2006-10-12 09:30:37
vim的帮助是tutor之后最好的教程, 看完user manual部分, 善用help, 上手没问题
vim上手其实不难, 真正用好需要时间
guest2006-10-12 09:33:20
去pconline看了一下, 正文没细看, 后面的评论带给我很大的快乐, lol
小五2006-10-12 17:17:22
感谢版主和[匿名] 大梦拳民
俺是个菜鸟 很多东西不懂 我要搜搜怎么看硬盘和注册表去 感谢 继续关注其实知识。
realmon2006-10-12 21:55:49
autocmd GUIEnter * simalt ~x
works well,thx
VIM最佳技巧翻译2006-10-18 15:55:57
http://blog.21ic.org/blog.asp?name=li3&subjectid=1320
SunSpring2006-10-20 12:19:40
Xbeat:
你好.一直非常喜欢你的Blog.真的不错.
现在想问个问题,我的XP装完Vim后为什么还是英文的,不是中文的,要如何设置才能就成中文菜单?谢谢.望回复.
回SunSpring2006-10-20 19:37:32
确认你是中文XP,装的是gvim7.0 ?
如果是,先到newsmth.net之vim版搜一下。我也要查一下才能答你,但现在上不了水木社区。
SunSpring2006-10-23 17:14:34
一定是中文XP,也是Gvim7.0.都没有错.不知道为什么????
又2006-10-23 20:57:28
我现在echo v:lang和echo $lang的结果都是zh_CN
SunSpring2006-10-24 17:41:29
我的两台电脑,一台显示zh_CN(W2K3),一台显示chs(WinXP).XP上面装完为英文,W2K3为中文.
SunSpring2006-10-24 18:07:11
终于解决了,问题出在我用的一个软件(Pro/E)上面,因按装这个软件的中文版需要设置一个系统变量,我设置了lang=chs,这个变量影响了Vim的vlang变量,所以才会出现英文.册除后就解决了.是不是语言包中应该包含chs才好.这样就可以两全齐美了.
mgc2006-10-25 00:07:40
你真觉得vim好用吗?我承认它功能的确很牛,但你有没有想到这个东西不适合编辑中文?写文章的时候,打错了字,你要先关掉输入法,切换到命令模式,再去执行删除命令?我只会这样操作,不知道是我不会用还是就是这样的。要真的是这样,那vim真的是不适合编辑中文的。
回mgc2006-10-25 08:05:25
呵呵,你的质疑多于探讨。
用vim处理中文远没有处理字母语言方便。但变通之后,仍很方便。①用backspace删 ②标准输入法可以在i模式下按esc后,自动切换到英文。如,海峰五笔极点五笔5.1在gvim7中可以。
mgc2006-11-06 01:44:46
不管我是质疑还是探讨。我就是在使用VIM之后觉得,中文输入和命令模式之间的切换存在很严重的不便,我才放弃使用vim的。
不用海峰五笔极点五笔5.1的人怎么才能方便的切换呢?我用紫光、搜狗。
比如你在录入的过程中,看到上边几行有错别字,你该如何操作?键盘上的上下左右移动的快捷键只能在命令行的模式才可使用。我觉得最快的办法就是用鼠标选中键盘del!但这恰恰是windows中最基本的操作方式。vim快速的优点被中文输入彻底抹杀了。纯粹的键盘操作,其实是早期没有鼠标的结果,但它的优点也是显而易见的。
如果最基本的录入还不如notepad来的方便,就算是vim有再强大的功能,它终究也是一小部分高级用户手中的工具,它会永远和普通用户绝缘。
就算我用到了vim的高级功能,我还是会选择在notepad中录入完成后再用vim打开执行高级操作。
还有vim要进行图文混排的话,必须要会用html代码,这是绝大部分人不可能做到的。
普通人,什么是普通人?google软件开发团队中的普通人?你知道我教我妈用notepad打字有多么费劲儿?vim?一边凉快着吧。
普通人对文字的要求其实是非常简单的:录入+简单的排版。就像我在这里给你的评论一样,连缩进都不用的,回车搞定。
word的确是自作聪明,很烦人的。但我想,只需要用学习vim十分之一的时间学一下word,你会很容易把word变傻的。
回mgc2006-11-06 08:38:48
我的题目来由在文中已解释。vim(现在看来应界定为GVIM)不是编程人员的专利,普通人也可以用它来作为编辑利器。不过,无太多需求的话,用这个利器是得不偿失的。
Leo2006-12-13 17:52:04
几个月前就开始了解 Gvim,确实也是感觉在中文输入法下非常别扭,希望能探讨一个用于改造输入法适合 GVim的模式。也就是具备什么条件的输入法适用于 GVIM。当然我们普通人无法去修改输入法,但至少可以向作者提建议,如果 GVIM 确实是值得去用,相信输入法作者会考虑的。
Hgbser2006-12-14 00:28:39
喜欢用绿色免安装的,不知道哪有?
xbeta2006-12-14 12:58:24
不仅vim与输入法不太和谐,其实任何快捷键操作方便而又有文字输入的软件(如TC)都有此问题。古人探讨过很久了,难有大进步。Leo可以再思考一下,分享详细观点。
xbeta2006-12-14 13:00:45
vim的绿色免安装版?这是一个很少有人关注的内容。试用vim官方下载页的vim70rt.zip加gvim70.zip吧。
eikc2006-12-14 19:47:10
我用GVIM就是绿色版的,当初安装完之后就直接做了一个压缩备份。后来换了系统,并没有再安装而是直接释放到分区中就开始使用了。第一次用回有一个提示,然后就正常使用。不过好像默认的配置文件也要记得做一个备份的。
hgb2006-12-30 11:19:00
看了你的文章后,在你给的链接上下了个zip的,用了几天觉得太不适应了。尤其配置文件极其难写。“普通人”的编辑利器还是word。VIM适合那些在windows上改配置不用选项按钮,而是喜欢打开ini文件自己编辑的人。
回hgb2006-12-30 12:54:33
VIM用来代替notepad,不能用来代替word。
实际上,并不是每个人都有很多要求,以至于要一个这么复杂的工具来处理txt。
两方面都是对的:①用VIM/Emacs之前不会想到文本编辑器还能好用到这个地步。②不是所有的人都需要它——甚至绝大多数人都不需要。
hgb2007-01-03 01:51:45
只用来文本编辑的GVIM该如何配置呢?从网上百度回来的配置都十几二十K,结合帮助研究了几天收获寥寥。xbeta能不能写一个像极点高级设置那样选项后面带中文说明的文章造福我等菜鸟。
VIM不太普及除了太过自由和独特的操作方式外,还在于没有人结合中国大部分网民的实际情况对它进行本地化改造。
回hgb2007-01-03 14:18:39
只用来文本编辑的GVIM——这个基本默认的就可以。开始不要做配置,了解它的查找替换先。这是强项。
eikc2007-01-03 19:02:46
前两天我用了一段时间。象上面所说的问题其实都可以解决的,很简单。比如在编辑模式下要临时执行移动光标、修改文字、删除等,不一定非要切换到命令模式下(通过按ESC),简单的命令可以使用Ctrl+O的方式,复杂一些的可以通过自定义快捷键的方式。比如我自己将Alt+H定义为插入模式下的光标左移动,Alt+J向下移动等。而实现原来我所说的在“中文句子”之间移动的功能我也实现了,就是通过在配置文件中定义一个F3键实现查找,这样按下F3键之后,就可以在带有,。……等等中文标点和数字之间快速移动光标了。其实这些功能实现起来都很简单的。
不过我自己感觉,如果真的只是做一些简单功能的话,其实使用Emeditor更好一些。最简单的,如果打错字的话,那么需要删除错别字,而VIM之中只能在编辑模式下使用Ctrl+H是比较快捷的。可是这样删除也只是删除单个字符而已。在Emeditor之中却是可以采用撤销功能(我同样定义到Ctrl+H),这样就可以删除输入错误的“中文单词”了。
其实就单纯的文字编辑功能上来说,我想用Gvim其实主要是三个好处:一是完全免费,不牵涉到盗版问题;二是它的正则表达式运行起来要比Emeditor快速不少;三是资源占用可能相对速度要少一些,打开大文件的速度要快一些。而相对不足之处其实可以通过自己的学习来改进的。
赞eikc2007-01-04 08:31:27
eikc兄的diy精神太赞了!深赞同最后一句话。GVIM是一款优秀的“通用”编辑器,在某些地方比不上某些有专门优势的编辑器(如日本人开发的Emeditor处理双字节字符),但拓展性很强,就算有缺点,也基本能避免或绕过。
ccc2007-01-14 02:40:32
eikc正如你自己所说,是你自己感觉而已,所以不能做数。
另外的人:
还有就是题目写的很明白了,是“编辑利器”,理所当然要花点工夫。假如你只希望用些低效率,但更容易上手的工具的话。那就不属于利器的范畴了。
还有回楼上所有的认为vim不适合的朋友:习惯。
另外认为word更好的朋友,你为word掏出过多少钱。即使是用字处理,即使是用D版的朋友们,至少麻烦你用下WPS的D版。就当支持国产的行不!
配置文件难写??我第一次用电脑的时候,花了半天的时间弄懂了开始菜单是怎么回事,第一次看黄色,主页被改,花了多少时间来学习注册表。真正决定难度的不是vim,而是你认为这个不值得你花时间学习,所以才有了难度。
xbeta2007-01-15 09:01:18
不太建议新手去过多研究配置文件,我倒觉得查找替换是最值得研究和实用的。
魔鬼天使2007-02-01 17:17:40
一堆鸟文,界面又这么丑(不友好),偶还是用记事本吧
一俗人2007-02-09 19:47:45
文章写的不错(客观)
不过你见过几个普通人用vim?(还是客观)
天使魔鬼2007-02-09 21:19:53
同意楼上的,xbeta有点自恋,自我陶醉,呵呵
欢迎使用精品D版软件,需要什么,表达一下,偶会无偿提供,哈哈
necrohan2007-04-15 14:25:50
“这是神的编辑器”
——不是我说的
liuxun2007-04-20 04:59:34
据我的经验,喜欢开源、勇于改配置文件、关心效率和资源占用,然又需要使用中文,并且不那么发烧的朋友——
可以试试Scite:)
刚还是用gvim2007-04-26 20:18:51
再输入半条命令(先不要回车)
:colo ev
然后,按一下tab键。是不是自动补全为evening了?VIM是非常聪明的(但是不会象MS Word那样自做聪明)。
然后你回车,看到了什么?
-------------------------------------------
我的是gvim,按你说的做了,可是按tab建后不会自动补全evening,胡乱实验,结果是shift+tab可以自动补全,不知道是不是配置的问题?
新浪网友2007-04-26 21:11:27
为什么我的是英文的菜单,怎么改成中文的啊
normyy2007-05-01 14:27:30
请问如何用正则表达式查找到所有用------分隔起来的行?例子如下:
------------------------------------------------
Table of Contents
------------------------------------------------
1.0 GoldWave Features
2.0 Installation, Uninstall
3.0 Important Additional Notes
4.0 Evaluation, Copyright & Distribution,
------------------------------------------------
1.0 GoldWave Features
------------------------------------------------
Vim不能明白我要的是第一条虚线和第二条虚线间的行,不是第二和第三条之间的大量文本。请问怎么办?
答网友2007-05-01 21:29:01
1. tab vs Shift+tab补全问题没太研究,已转发水木vim版
2. 菜单非中文,可试在_vimrc首行加一句 se lm=zh.gb2312试一下。参见:h 'lm'
3. ----问题已转发vim版
普通人的编辑利器——Vim
VIM GDB linux c/c 的编程利器
普通人成为有钱人的黄金法则(编辑后)
——波段操作的利器
周线KDJ—波段操作的利器
周线KDJ—波段操作的利器
周线KDJ—波段操作的利器
杀人利器—刀
杀人利器—刀
利器—刀
VIM的Project插件
Vim的配置
VIM的Project插件
聪明人与普通人的区别——思维转换
【思维】聪明人与普通人的区别——思维转换
vim
VIM
杀人利器——刀
BLOG——反思性学习的新利器
信息技术——流程管理的利器吗?--运营管理
BLOG——反思性学习的新利器
周线KDJ——波段操作的利器
独特趋势线——规避市场陷阱的利器
周线KDJ——波段操作的利器