- 浏览: 159168 次
- 性别:
- 来自: 北京
最新评论
-
softor:
我遇到的问题是:<ul id="dodo&qu ...
JS阻止冒泡出现(cancelBubble=true;与stopPropagation -
dennisbing:
http://itwenti.com 有问题就上it问题网 ...
httpd.exe应用程序错误 -
jomoonrain:
我该考的都考了 我靠 还没好
httpd.exe应用程序错误 -
lonelydog:
谢谢,问题解决了。但我想不通的是我已经把/php5和/php5 ...
httpd.exe应用程序错误 -
m2maomao:
你太牛B了,兄弟,我最近也在搞PHP,就因为装这个PhpMyA ...
httpd.exe应用程序错误
FROM linxuelin
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。依次执行下述操作: ① 关闭所有的VIM ② 找到你的d:\program files\vim\vim7\_vimrc,复制一份。 ② 右键点击此处 ,“另存为”覆盖你的d:\program files\vim\vim7\_vimrc。 注:这并不是标准做法,但对windows用户是比较方便的做法。
3.6 打开test.txt 再次就模式进行提醒:Esc到Normal;Normal下i到编辑;Normal下:到命令行。 运行VIM,并在命令行执行 :e d:\test.txt 接下来,我们把此文章排一下版。如果你认为可以手工排版,请把此文件复制到10000行再发表意见。 3.7
分段并保存
3.8
继续编辑 再试一下dd。是不是整行没有了?没关系,u回来就行了。 3.9
更多编辑 任务b:把行末的标点去掉,即“荣”后的顿号和“耻”后的逗号。
任务c:错落有致
补充说明:高手使用VIM是千变万化的。上面的前2个操作(分行+删标点),完全可以合成一个:%s/\(为.\)./\1\r/gc;或再把第3个操作(错落有致)融合到前一个操作中。 3.10
自由体验 体验自动补全:i进来吧,到目前为止还没写过字呢!为简单起见,你直接把用鼠标放到中文的下一行,我们把 Eight Do's and Eight Don'ts 输入一遍。但是,输入一个E,先别动!按ctrl+p是不是自动补全了? 体验大小写(每次操作后,都用u恢复原状),试一下g~~和guu和gUU和g??(g??后可以不按u,再按一次g??也能恢复原状) 3.11
体验语法高亮和折叠
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所代表的追求卓越、开源共享的精神致敬!并希望有责任感的用户逐渐减少盗版! |
发表评论
-
Companion.js的使用
2011-07-15 23:50 933安装Script Debugger for Windows N ... -
谷歌输入法干扰ZendStudio的ctrl+鼠标左键跳转链接
2011-07-15 23:50 1035就是Ctrl+鼠标左键点击 点击某个函数的时候能让它自动转到这 ... -
EditPlus 正则表达式替换字符串详解(摘)
2011-07-15 23:49 850EditPlus的查找,替换,文件中查找支持以下的正则表达式: ... -
Editplus 配置 php
2011-07-15 23:48 953Editplus 这个工 ... -
各浏览器如何清除Cookie
2011-07-15 23:41 1186☆ IE61、点击工具菜单。2、选择 Internet 选 ... -
Eclipse快捷键大全(转载)
2011-07-15 23:41 733Ctrl+1 快速修复(最经典 ... -
几款浏览器类似Firebug的插件工具(摘)
2011-07-15 23:40 13901.火狐Firebug 小小萤火虫,功能却很全,太方便了 ... -
为什么MyEclipse没有自动提示(我来告诉你)
2011-07-15 23:40 1118没有提示,就是说明你在设置上没有设置好。开始我的只是在普通 ... -
电脑保护色--zend背景保护色
2011-07-15 23:39 900设置方法:桌面空白处点击右键,选择“外观” 然后点击“高级”按 ... -
Firefox浏览器的相关配置--后台打开链接等
2011-07-15 23:39 1581在Firefox浏览器地址栏里输入 about:confi ... -
Apache自带的性能测试工具ab的使用
2011-07-15 23:38 799刚开始的时候,对于压力测试感觉就是空白一片,后来查了查资料 ... -
windows 7下安装zendstudio 5.5
2011-07-15 23:37 66401、下载并安装最新版本的 JRE for Windows: ... -
安装和更新Chrome浏览器问题
2011-07-15 23:36 720此错误很可能是安装过程中计算机内的 Application ... -
Zend 5.2的快捷键
2011-07-15 23:36 660下面的代码是复制粘贴类 Ctrl + D 如果你有选中, ... -
在ZendStudio中正确显示当前时间
2011-07-15 23:36 863我在ZendStudio中运行$date=date(" ... -
随IP变化的天气预报代码(摘)
2011-07-15 00:39 1044<iframe src="http://www ... -
什么是CDN及特点
2011-07-15 00:36 722CDN的全称是Content Delivery Net ... -
Nginx 400错误排查:HTTP头/Cookie过大(偶遇 转帖)
2010-03-31 11:05 2889今天也是处理一个bug的时候,发现的这个服务器错误问题 ... -
Vim的使用技巧 --- 摘
2010-01-04 17:56 949说明: 以下的例子中 xxx ... -
Eclipse的常用插件
2009-04-27 13:49 821subversion 版本控制,相 ...
相关推荐
<br><br>这是在Red Hat Enterprise Linux AS release 4 (Nahant Update 4) 下编译的VIM71版本<br> configure编译选项(本人没有关闭任何选项,应该所有默认选项都被编译在内):<br> --enable-FEATURE=yes #支持特性...
cmap ,f <Esc>:cs find s <C-R>=expand("<cword>")<CR><CR> cmap ,d <Esc>:cs find d <C-R>=expand("<cword>")<CR><CR> cmap ,c <Esc>:cs find c <C-R>=expand("<cword>")<CR><CR> cmap ,e <Esc>:cs find e <C-R...
map <F1> :wqall<CR> //<F1>保存全部并退出 ,如果这些键有冲突,就进.vimrc来改吧 map <F2> :NERDTreeToggle<CR> //<F2>打开/关闭目录树边框(左) map <F3> :NERDTreeMirror<CR> //<F3>目录树镜像 map <F4> :wall<CR...
vim中~/.vim 插件打包 ./vimrc文件内容为 "允许鼠标的使用,防止linux终端下无法拷贝 if has('mouse') set mouse=a endif ... " nmap <C-@>s <C-W><C-S> :cs find s <C-R>=expand("<cword>")<CR>...
按<F2>将会在VIM的左边打开一个Taglist窗口,这个窗口里面包含了C文件里面的定义,如struct,typedef,全局变量,函数等。使用'<'Ctrl>+h将光标移动到左边的窗口,上下选择tag按回车定位到tag的定义处。 【#】当前目录...
使用在.vimrc中添加: nnoremap <silent> <YOUR> :call f5#Run()<CR>tnoremap <silent> <C><YOUR> <C>:call f5#Run()<CR>其中<YOUR>换成需要的快捷键,例如<F5> 。可用函数:功能描述f5#Run如果在终端窗口内,则...
`<C-R>=expand("<cword>")<CR>`是Vim的内建功能,它会取当前光标下的单词作为参数。 `.vim`文件夹通常包含Vim的插件、颜色方案和其他自定义资源。这个压缩包中的`.vim`可能包含了用户自定义的一些插件配置或者额外...
Vim是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它的可配置性是其一大亮点,用户可以通过自定义.vimrc配置文件来调整编辑器的行为...合理地管理和优化.vimrc文件,可以让Vim成为你得心应手的代码编辑工具。
<S-F4> :wall<CR>:AS<CR>autocmd FileType c,cpp,objc,objcpp nmap <silent> <Leader>an :wall<CR>:AN<CR>autocmd FileType c,cpp,objc,objcpp nmap <silent> <Leader>as :wall<CR>:SearchIncAndSrcPath<CR>谢谢 ...
此处使用了特殊的`<<lt>>`映射,使得输入`<`后会自动补全为`<>`。 此外,对于C语言文件类型,还有专门的映射: ```vimscript autocmd Syntax c inoremap{{<CR>}<ESC>i|inoremap}<C-R>=ClosePair('}')<CR> ``` 当在...
inoremap <silent><CR> <CR><C-r>=CocAction('confirmInsert')<CR> nnoremap <silent> <A-D> :CocCommand workspace.showOutput<CR> " 错误提示 nnoremap <silent> <Leader>e :CocList diagnostics<CR> nnoremap ...
本篇将详细介绍Linux下的代码阅读工具Vim,以及与其配套使用的ctags、cscope和taglist插件。 **Vim:全能文本编辑器** Vim(Vi Improved)是一款功能丰富的文本编辑器,广泛用于Linux系统。它以其高度可定制性和...
如果 enc 设置不是 cp936,你将不能在 gvim 的命令行上使用set guifont 和 set guifontwide 来设置名字中含有中文的字体,比如,enc 为 utf-8,下面的命令是无效的:<br> :set guifont=新宋体:h10<br>gvim会提示找不...
cmap <F5> :cs add .<CR>:cs find s <C-R>=expand("<cword>")<CR><CR> cmap <F6> :cs find e<CR> cmap <F7> :cs find f<CR> cmap <F8> :cs find d<CR> cmap <F9> :cs find i<CR> endif ``` 除此之外,Vim的...
map <F2> :w<CR> ``` 这个映射让F2键保存当前文件。 5. **备份和交换文件**: ``` set backup set swapfile ``` 开启备份和交换文件功能,防止意外丢失工作。 6. **显示行号**: ``` set number ``` ...
导航栏制作案例"的学习资源中,我们将会深入探讨如何使用这两个强大的文本工具来创建一个导航栏。这通常涉及到编写HTML代码,因为导航栏通常是网页设计的一部分。 首先,Vi和Vim编辑器的基本操作包括打开、编辑、...
- 替换模式:进入替换模式可以使用`R`,然后逐个替换字符直到按`<ESC>`键退出。 这些基本的操作和技巧是学习vim的良好起点,掌握了它们之后,就可以更高效地使用vim进行文本编辑工作。此外,vim还提供了诸如查找...
Emmet 是前端开发者不可或缺的工具,它最初是为 Sublime Text 开发的,但现在也支持 Vim。Emmet 提供了一套强大的 HTML 和 CSS 快捷输入方式,可以通过缩写自动扩展成完整的代码结构。例如,输入 "div>ul>li*3" 并按...
map <F8> :cs add .<CR>:cs find s <C-R>=expand("<cword>")<CR><CR> map <F9> :cs find d <C-R>=expand("<cword>")<CR><CR> map <F10> :cs find e <C-R>=expand("<cword>")<CR><CR> map <F11> :cs find f <C-R>=...
此外,还可以定义快捷键,如"map <Leader>t :tabnew<CR>",这将设置一个快捷键,按下组合键后新建一个标签页。 颜色主题是VIM个性化的一个重要方面,可以改变代码的高亮显示,使代码更易读。安装和切换颜色主题可...