Vim 学习指南
作者:耀耀
出处:http://www.linuxeden.com/html/news/20130820/142667.html
Vim 学习指南
关注我们: 
![]()
第一层次 – 适应
在标准的编辑器里,写一些东西到屏幕上只需要在键盘上输入就足够了,在Vim中不是这样。Vim在普通模式里,让我们转到插入模式,键入字符i。 你应该感觉好一点了,能像在标准编辑器里输入了,回到普通模式只需按ESC键即可。 你现在知道了如何在插入和普通模式之间转换,下面是你在普通模式下需要记住的指令:
|
|
只有5个命令,一开始只需掌握这些,当适应了这些命令后(大概需要一天或更多的诗句),你可以转到第二层级了。 但首先,稍回顾一下普通模式。在标准编辑器里,要复制的话你需要使用ctrl键(Ctrl-c)。实际上,当你按下ctrl键时所有的按键的意义都改变了。在vim普通模式下就像在ctrl键自动按下的情况下使用编辑器。 最后的补充:
|
第二层 - 爽一把你知道,命令是由需求所定。是时候学习更多命令了。下面这些是我的建议:
花些时间学习所有这些命令。一旦完成后,你应该就能完成在像在其它编辑器中所有事情。也许,你可能还会觉得有点笨手笨脚。但是跟着我进入下一个层次,你就会发现为什么vim值得你额外付出的努力。 |
第三层次——更好,更强,更快为达到这一步表示祝贺!现在我们可以开始这有趣的东西。在第三层次,我们将只讨论命令,它兼容旧的vi编辑器。 更好让我们看看vim是怎么帮你做重复事情的。 1. .→(点)可以重复最后一个命令, 2. N<命令>会重复命令N次。 一些例子,打开一个文件然后写入下面内容:
|
更强知道怎么有效的移动对vim是非常重要的。请不要跳过这一节。 1. NG→定位到第N行 2. gg→1G的快捷方式——定位到第一行 3. G→定位到最后一行 4. 单词移动:
现在让我们来谈谈几个非常有效率的移动:
相信我,最后的三行命令是精华。 |
更快记住了vi移动的重要性?这里就是原因。大多数命令使用下面这种通用格式: <开始位置><命令><结束位置> 例如: 0y$意味着
我们也可以使用ye,从当前位置复制到单词的末尾。但是y2/foo 会一直复制到第二个foo出现的地方。 但对于y(复制), d(删除), v(visual 选择), gU(大写), gu(小写)等等命令都是真实的。 |
第四层次 – Vim 超能量使用上述的命令,你就觉得很爽了。但是现在,这里才是杀手锏。正因为其中有些特性,我才使用vim的。 在当前行移动:0^$g_fFtT,;
一个有用的提示:dt"→删除所有的直到”。 |
区域选择 : <命令>a<对象> 或 <命令>i<对象>这些命令仅仅能用在可视化模式的一个操作后。但是他们相当的有用。他们的主要模式有: <命令>a<对象> 和 <命令>i<对象> 命令可以是任何命令,例如 , d(删除),y(拉取),v(进入可视化模式)。对象可以是: w一个单词,W一个单词 (扩展的),s一个句子,p一个段落。而且也可以是普通的字符, 例如",',),},]。 假设现在光标在 (map (+) ("foo")) 这个字符串的第一个o上。
|
矩形选择块:<C-v>矩形选择块能够方便的对多行代码进行注释。 如:0<C-v><C-d>I-- [ESC]
![]() 提示:如果你的剪贴板在Windows中是非空的话,那么你就不得不使用<C-q>来代替<C-v>。 |
实现:<C-n>和<C-p>.在插入模式中:只要打出单词的首字母,然后按<C-p>,神奇的事情就发生了...
宏命令 : qa 做的一些事,@a,@@qa 把你的动作记录在了寄存器 a 中。然后@a 就会将存在寄存器中的动作重现,就好像你从新打了一边。@@是将你最后一次执行的宏命令再次执行的快捷键。
|
可视化模式选择: v, V, <C-v>我们已经看到过<C-v>例子,这里还有v和V。一旦已经选择好了,你可以:
![]() 在可视化模式所选择的行的末尾添加一些东西:
|
分割:: split 和 vsplit这些是很重要的命令,所以你应该在:help split看看。
|
小结这些是我经常使用的90%的命令。我建议你每天学习一到两个命令。在两到三周之后,你将会感觉到vim在你手上使用的是如此的强大。 学习vim更多的是记忆训练。值得高兴的是vim诞生了一些非常好的工具和优秀的文档。当你非常熟悉大部分基本命令之后就可以使用vimtutor了。另外,你应该仔细的阅读这页 ::help usr_02.txt. 然后,你要去学习了解寄存器,插件已经其它的功能。学习vim就像学钢琴一样,所有的都要掌握好。 |
参与翻译(4人):Lesus, Garfielt, szkiti, 耀耀
本文转自:开源中国社区 [http://www.oschina.net]
本文标题:Vim学习指南
本文地址:http://www.oschina.net/translate/learn-vim-progressively
Vim 学习指南的更多相关文章
- Vim学习指南
你想尽可能快地自学vim(为大家所熟知的最好的编辑器) .这是我学习的方法:从细处入手然后慢慢掌握所有技巧. Vim 六十亿美元的编辑器 设计优良,强壮,快速. 学习vim并把它作为你的下一个文本编辑 ...
- Unix和Linux下C语言学习指南
转自:http://www.linuxdiyf.com/viewarticle.php?id=174074 Unix和Linux下C语言学习指南 引言 尽管 C 语言问世已近 30 年,但它的魅力仍未 ...
- Civil 3D API二次开发学习指南
Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开 ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- 《Spring MVC学习指南》怎么样?答:书名具有很大的欺骗性
2016年6月21日 最近,因为工作需要,我从网上买了一本<Spring MVC学习指南>,ISBN编号: 978-7-115-38639-7,定价:49.00元.此书是[美]Paul D ...
- [go语言学习指南]
内部分享,根据自己的经验,收集汇总的go语言学习指南. 适合新手入门. 可以通过这里进行下载.
- Oracle学习指南
Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...
- 推荐10个很棒的AngularJS学习指南
AngularJS 是非常棒的JS框架,能够创建功能强大,动态功能的Web app.AngularJS自2009发布以来,已经广泛应用于Web 开发中.但是对想要学习Angular JS 的人而言,只 ...
- 项目管理之道--纪我的新书《PMP项目管理认证学习指南(第4版)》出版并预祝大卖!
新年伊始,我最新的项目管理书籍——<PMP项目管理认证学习指南(第4版)>也出版了,真是新年新气象啊!翻译英文书籍是一件任重道远的工作,除了要具备扎实的基本功,熟悉相关的领域外,还需要细致 ...
随机推荐
- jQuery节点操作方法大全
1.append() 向每个匹配的元素内部追加内容 HTML代码: <p>我想说:</p> jQuery代码: $('p').append('<b>你好</b ...
- 训练1-K
一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢? Input 输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b< ...
- 设置ssh会话过期时间
客户端配置选项: 编辑配置文件 ~/.ssh/config 加入以下配置项,如不存在新建一个即可: Host * ServerAliveInterval 300 ServerAliveCountMax ...
- H3C防火墙——回环流量问题(内网终端通过外网IP访问内部服务器)
http://www.bubuko.com/infodetail-1533703.html
- Python Study(02)之 Context Manager
上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围.一旦对象进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它 ...
- HDU4763-Theme Section(KMP+二分)
Theme Section Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- hdu 4037 Development Value(线段树维护数学公式)
Development Value Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others ...
- hive 配置注意事项及初始化hive 元数据
今天配置hive 犯了一个问题:下载的hive tar.gz 里的conf文件夹仅仅有一个 hive-default.xml.template,于是我就cp 了一份命名为:hive-default. ...
- js保留两位小数的解决的方法
var a = 123.456; a = a..toFixed(2); alert(a);//结果:123.46
- 4.vim操作
你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法. 我建议下面这四个步骤: 存活 感觉良好 觉得更好,更强,更快 使用VIM的超能力 当 ...








