迁移到 Vim 的 10 个难关

  你必须得承认,每当你看到别人使用 Vim,你就在想他是不是知道一些你不知道的事情。否则他为什么要用这么一个过时的编辑器,或者说开源垃圾?

  除非你花至少一个月的时间每天使用这个编辑器,否则你是不会喜欢它的。这也是为什么很多新手会尝试一两天,然后就被它恶心到了,然后就永远不在碰它的原因。不幸的是,假如这些开发者能够挺过前期的痛苦,等待他们的将是无敌的速度和灵活性。

  1. 太多的模式可以选择

  Vim 和 TextMate 有很多不同,你常常会遇到它不让你输入,让你抓狂。Vim 有很多不同的模式,在不同的模式下,不同的按键有不同的功能。更让人崩溃的是,大写和小写的功能也天差地别。

  也许你很奇怪一个命令搞了半天就是为了删除五行文字。是的,但是当你掌握它后,你会发现编辑的速度快了很多。

  2. 古老的编辑器

  Vim 的年龄是很大的,超过30岁了!但是 Vim 是一直在被开发和维护的。最新的 7.3 版本是2010年发布的。还有,Vim 和 Vi 是不一样的,如果你只用过 Vi 那么建议你试试 Vim,你会有惊喜的。

  3. 我喜欢 TextMate 代码片段功能

  你也许很快就会发现 Vim 不能胜任某项工作,但是很有可能某个插件已经实现了你想要的功能。例如 TextMate 代码片段(snippets)功能,Vim 并没有这个功能,但是有一个 snipMate 插件可以实现一模一样的功能。

  4. 我不能使用上下键

  首先,Vim 是可以用上下键的,你说的可能是 Vi。但是大部分 Vim 的用户不用这些按键:

  h,j,k,l被映射到了左,下,上,右:

  没有选择 - 以前的机器没有上下左右按键

  更少的移动 - 大部分情况你的手是在键盘的第二排,所以用这样的映射会让你的手尽量少的移动,可以让你更快的在文档的不同部分移动。

  5. 我是设计师!

  是的,Vim 并不适合每一个人。如果你经常和 HTML,CSS 打交道的话,Vim 可能不适合你。不过你也可以尝试一下。也许 Coda 更适合你。

  6. Vim 并不提供我现有编辑器的功能

  你错了,每一款编辑器都有它的长处。Vim 的长处就是强大,灵活,有成千上百的插件,而且免费。几乎你能想到的功能,都有插件提供。

  snipMate:可以让你输入 + tab ,展开整个 div,超级好用!

  Surround:把一部分文字用标签括号等标记出来。

  NerdTree:查看文件系统,打开文件或者目录。

  TComment:简单快速的注释掉代码中的某些行。

  Sparkup:类似 ZenCoding,但同时也支持给元素赋值,比如:

  ul > li { My list item text. }

  7. 我的 Vimrc 文件是空白

  这是我用 Vim 遇到的第一个问题。当你第一次启动 Vim 的时候,你会发现没有代码高亮,没有语法格式,没有自动缩进等等,什么都没有!刚开始的时候设置 Vim 的配置文件是比较头疼的,不过网上有很多现成的可以参考。

  8. 我不想使用命令行

  我也是,还好有图形界面的 Vim,比如 MacVim,GVim。

  9. 没有老师学起来太累

  请查看这个 Venturing into Vim 四周的课程。这个课程的特点是,我是在我学习 Vim 的时候录制的。

  10. 我不能编辑远程的文件

  你当然可以,也许没有 Coda 那么友好,但是 Transmit FTP 插件是可以提供这个功能的。

  当然,你有成千上万的理由拒绝 Vim。它的学习曲线很高,需要你对代码编辑有一个全新的认识。但这些都不足以说明 Vim 不值得你认真学习一下!

时间: 2024-12-04 00:45:52

迁移到 Vim 的 10 个难关的相关文章

Ubuntu环境下将 Mysql 5.5 数据库迁移到 MariaDB 10 步骤

这篇文章是我们自己亲手实验过的,系统为 Ubuntu 14.04 server,Mysql 数据库为 Mysql 5.5,准备迁移到 Maria DB 10.1 版本,关于其他版本的迁移方法详细的说明你可以去官方查看,这里我只说说我所实验过的. 关于为什么迁移到 MariaDB,知道 Oralce 收购 Sun 的用户应该知道,当然这已经是几年以前的事情了,本人一直不是很喜欢oracle在MySQL上面的态度,自己要是安装数据库基本上都会使用 MariaDB.整个迁移过程基本无痛,也没什么需要特

Box 迁移到 HHVM 实践

Box中的PHP 在 Box 里,PHP 是开发栈的核心部分.尽管我们在大量的后台服务中使用了许多语言,然而每个后台服务都要求我们首先和 PHP web 应用进行交互.从 Box 诞生那一天开始,我们产品的核心功能都是使用 PHP 来实现的. 减缓由超过150个活跃贡献者编写的和超过75万行代码组成的还在不断增长的 PHP代 码所带来的延迟是最大的挑战.我们不能对我们提供服务的大部分页面进行缓冲处理,因为用户通常希望 Box 上的各种各样的动作都是原子性的.随着我们产品的不断成长.演变,这本身就

Oracle在不同平台间表空间迁移

平台环境:   1.源库:         Windows Service 2003 SP2 x86         Oracle Service 10.2.0.4 x86    2.目标库          Redhat Linux   5.5  X64          Oracle Service 10.2.0.5    3.检查目标数据库的系统环境 /G'xLC*M.D!zH!_&d206744233.检查目标系统环境O,[`Qf%s20674423内存大小:M:Y@8Z0sV20674

Oracle 跨操作系统 迁移 说明

关于跨OS 的DB 迁移,MOS 上有相关的文章说明:[ID733205.1]. To migrate anexisting Oracle database (NOT BINARIES)  from one Operating Systemplatform to another (i.e. Windows to Solaris) ,This can occur as part ofan Oracle version upgrade (Oracle 8i .. Oracle 11G) or wit

从2亿增加到10亿 微软Windows 10下个目标是企业

Windows 10 正式发布以来,微软多次声称这是自家史上增长最快的操作系统,但并没有提供数字证明.不过在今年 1 月份的时候,微软透露了一个十分具体的数字,微软称当时已经有超过 2 亿的设备安装了 Windows 10 操作系统,装机数量的增长速度比以往所有操作系统都快,甚至是对比 Windows 7. 然而,根据市场调研机构 Net Applications 统计的数据显示,早在 2009 年就已经发布的 Windows 7 操作系统,目前在全球范围内依然是最受欢迎的一代版本,世界上每两台

利用阿里云产品的数据备份与恢复实践

背景 对业务系统来说,数据可靠性非常重要.如何通过简单的配置,实现适当有效的备份机制并具备快速恢复能力是本最佳实践所要解决的主要问题. 不同的业务系统,对可用性和备份恢复的要求有很大的不同:对一般系统来说,因为阿里云默认有3份冗余副本.对磁盘和数据库的每天自动备份,并承诺99.9%的可用性,所以不须做更多配置.但为了应对意外情况,需要做好变更日志和本地备份: 对业务价值比较大的系统来说,只要做到严格遵守操作规范和利用阿里云提供高可用.数据备份和恢复机制,无论发生何种类型的故障或灾难,也能降低损失

高效运维:运维自动化之殇

前言 这些年来,大家都在谈运维自动化.但是否也会困惑于"只见树木.不见森林"?或者说,做了几年的运维自动化,但依然不能确定还有哪些工作没做?还有,怎样更优雅的实施运维自动化? 另外,运维自动化是万能的么?有哪些潜在问题?想了解大故障的独家剖析?且听本文分解~ 本文实际上包括两部分,关于运维自动化的一些观点(前3部分)和运维自动化的痛点(第4部分).如果已是运维自动化的专业人士,可以跳过前面内容,直接鉴赏第4部分--运维自动化之殇. 依惯例放上目录,请享用: 1. 什么是运维自动化? 2

Microsoft Deployment Toolkit 2010新功能详解

相比BDD和MDT,http://www.aliyun.com/zixun/aggregation/11208.html">Microsoft Deployment Toolkit 2010提供更加强大的功能: 1.Support for new deployment shares. MDT 2010 Beta 2 将deployment points和distribution shares 合并为deployment shares. 部署共享可以是存储在本地或网络上的共享文件,也可以是D

关于开源软件,你所不知道的那些事情

人们通常认为,"开源软件是完全免费的","开源软件比闭源软件更灵活","代码所有权对于每家企业而言都非常重要".但近日,SaaS CMS解决方案Coredna创始人Sam Saltis在一篇文章中指出,这些观点并不是绝对正确的,它们要依赖于一定的"环境",比如,应用场景.应用行业.企业规模,等等. 通常,人们有三种方式获得技术软件,包括"购买"."构建"和"借用".S