相信大家在开始使用一门编程语言的时候,最先做的事就是去学习它对应的IDE。在你稍微进阶的时候,就会想着去学习IDE中的各种快捷键,比如

  • 如何删除整行
  • 如何在不使用鼠标的情况下,在代码间快速移动、跳转
  • 如何快速查找指定的代码或变量

这些是你学习一门新语言所要承受的隐性成本。但是比较尴尬的是当你熟悉了新IDE的快捷键之后,可能会把之前老的IDE的快捷键给忘记了。

有没有一劳永逸的解决方案呢?我给出的答案是Vim。

什么是Vim

Vim是一个强大的编辑器,学习曲线十分陡峭。但学会它之后你就会爱上它,它让你的效率大大提高,从此以后告别鼠标。

什么是Xvim

有的人可能会说我要做Iphone开发,平常使用的都是Xcode,学了Vim有什么用呢?当然有用!现在隆重介绍Xvim这个神器,它是Xcode的一个模拟Vim的插件,装上它之后,你就可以在IDE中使用Vim编辑方式和快捷键,同时又没有丢失使用Xcode这个IDE的优点。更重要的是你不用去学习Xcode中的快捷键(容易忘),你直接使用Vim的那一套快捷键编辑代码。

手动安装XVim

  • 下载Xvim代码
  • 编译代码,它会自动把XVim插件放到正确目录里。
  • 然后重启Xcode即可使用XVim的功能。
  • 可以在用户的根目录创建.xvimrc来定制XVim的配置。

手动卸载XVim

手动删除下列文件,重启XCode即可:
$HOME/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XVim.xcplugin

敬请期待姐妹篇 VisualStudio中的Vim--VsVim

Xcode中的Vim--XVim的更多相关文章

  1. XCode中使用SVN 教程

    修改subversion.config方法: 可以直接在终端上输入:vi ~/.subversion/config来编辑. 也可以通过Finder搜索.subversion,点击下边的+号,进入高级搜 ...

  2. XCode中安装cocoapods步骤

    Ruby是一种功能强大的面向对象的脚本语言 Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找.安装.升级和卸载软件包,非常的便 ...

  3. Xcode中git的用法介绍与"Please tell me who you are"问题的解决方式

    我在之前多篇博客中解说了怎样使用命令行操作git,能够大大提高我们的工作效率.详细能够參考<Git学习札记><Git学习札记--进阶>等文章.事实上对于同一个工具,我们有不同的 ...

  4. iOS开发时,在Xcode中添加多个Targets进行版本控制

    在iOS开发中,很可能有以下场景:需要开发多个版本,或因需区分收费版,免费版,或因为网络环境需要区分测试版,发布版,或因渠道不同需要区分企业版,AppStore版等等.解决办法无非就是CheckOut ...

  5. 在Xcode中使用Git进行源码版本控制

    http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册   iOS开发 Swift Ap ...

  6. 处理SecureCRT中使用vim出现中文乱码问题

    处理SecureCRT中使用vim出现中文乱码问题 引用原文:http://blog.chinaunix.net/uid-20639775-id-3475608.html因为cat没有问题,定位是vi ...

  7. 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题

    解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...

  8. Xcode中iPhone iPad模拟器调整大小的方法

    Xcode中调试iPad程序默认的iPad模拟器非常小,如何方法iPad模拟器的显示尺寸呢? 选中iOS模拟器,在“Window -> 缩放比例”中就可以调整了. 快捷键: Command + ...

  9. [翻译]使用Swift在Xcode中创建自定义控件

    使用Swift在Xcode中创建自定义控件 原文 IBDesignable and IBInspectable With IBDesignable and IBInspectable, develop ...

随机推荐

  1. hive如何执行一条sql的例子

    SQL如何在Mapreduce执行 左边是数据表,右边是结果表,这条 SQL 语句对 age 分组求和,得到右边的结果表,到底一条简单的 SQL 在 MapReduce 是如何被计算, MapRedu ...

  2. shell 命令 netstat 查看端口占用

    netstat 查看 8888端口的占用情况

  3. Beta版本冲刺准备

    1. 介绍小组新加入的成员,Ta担任的角色. 姓名 王华俊 爱好 PS ,听音乐等等 编程方向 Java小程序,GUI 团队内担任的角色 美工 让他担任这个角色的理由:不同于别人的直男审美 2. 讨论 ...

  4. [转载]DevOps建立全生命周期管理

    全生命周期管理(ALM)领域作为企业DevOps实践的总体支撑,应该说是DevOps领域中最为重要的实践领域,也是所有其他实践的基础设施.现在很多企业都非常重视CI/CD自动化工具的引入和推广,但是对 ...

  5. C# 开源仪表盘库—Agauge App

    1.简介 有个叫A.J.Bauer 的大神在System.Windows.Forms.Control类的基础上建立了一个显示各种仪表盘的类.                   英文版简介:C# Tu ...

  6. 【DirectX】 AudioVideoPlayback 中的事件BUG

    当访问 Video 中的 Audio 属性时,会造成 Video 的所有事件失效.经过反汇查看源码,原来在访问Audio属性时,Audio会通过当前Video对象创建一个新实例.而这个新实例会覆盖掉当 ...

  7. 二、winForm-DataGridView操作——DataGridView 操作、属性说明

    注册:Form加载窗体代码 /// <summary> /// 窗体加载Form1 /// </summary> /// <param name="sender ...

  8. Linux-切换启动方式

    Linx 默认的启动方式可以用图形界面也可以用命令行状态,命令行状态的启动相对来说运行速度更快,而且资源的消耗也更小,这个可以在Linux启动的过程中修改,也可直接修改配置文件来进行设置默认的启动方式 ...

  9. 在Windows7系统上能正常使用的程序,Windows10运行后部分状态不能及时变更

    这是最近在开发一个通信项目时遇到的问题,一开始以为是窗体样式的原因,把窗体换成系统窗体之后还是在Win10上不能正常使用,后面突然想到会不会是匹配原因,试了一下,结果真的就正常了. 问题:例如一个通信 ...

  10. 【转】C#中dynamic的正确用法

    原文:http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4.0的新特性.dynamic ...