Vim Note

很早就知道vim是一个很强大的编辑器,也用了很久。不过没有系统的总结过,这次就写个笔记方便以后看看(本文在vim下编辑完成)

第一印象

打开vim第一感觉就是无从下手,相信大多数人和我差不多吧。
vim有很多的模式,刚启动在Normal模式下,按下‘i’后就会进入Inserts模式。这个模式下就可以输入文字进行编辑。
要想退回Normal就按‘ESC’,Normal模式下可以干很多事:

  • x:删除光标所在字符

  • :wq:保存并推出(:q是退出:w是保存)

  • dd:删除这一行,并将这一行保存到剪贴板

  • yy:复制这一行

  • p:粘贴

  • hjkl:上下左右移动光标(一开始很难受到后面感觉很棒!)

强调一下 以上都在Normal下完成

哎呦不错呦

上面的指令用的是比较多的,接下来的指令是偶尔会用的一些,下面的指令也是在Normal模式下完成:

  • ^:到达本行头(除了空格,tab,换行,回车之类的)

  • $:到本行尾

  • /:搜索(例如在文本中搜索vim,/vim)

  • u:撤销

  • Ctrl-r :重做

进阶!

接下来就是一些很厉害的指令了,配合上面的指令可以更加的有效率:

  • . :重复上一个指令

  • N+指令:指令重复N次(3dd删除3行)

  • gg:到达第一行

  • G:到达最后一行

  • :N:到达第N行

  • v,V:可视化选择,这个不好解释,自己试一下最好

你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:

例如 0y$ 命令意味着:

  • 0: 先到行头
  • y :从这里开始拷贝
  • $ : 拷贝到本行最后一个字符
    你可可以输入 ye,从当前位置拷贝到本单词的最后一个字符。

你也可以输入 y2/vim 来拷贝2个 “vim” 之间的字符串。

Learn Vim的更多相关文章

  1. [转载]VIM 教程:Learn Vim Progressively

    文章来源:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/   Learn Vim Progressively   TL ...

  2. 简明 VIM 练级攻略

    http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个 ...

  3. 跟我一起学习VIM

    跟我一起学习VIM - The Life Changing Editor   前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹 ...

  4. VIM编辑器之常用命令

     分类: vim   目录(?)[-] 第一级 存活 第二级 感觉良好 第三级  更好更强更快 更好 更强 更快 第四级 Vim 超能力 在当前行上移动光标 0   f F t T 区域选择 acti ...

  5. vim 使用2 转载 为了打开方便

    http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个 ...

  6. VIM的强大功能

    转发地址:http://coolshell.cn/articles/5426.html 简明 Vim 练级攻略   vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是 ...

  7. Vim编辑器

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  8. Vim 练级攻略

    以下的文章翻译自<Learn Vim Progressively>,我认为这是给新手最好的VIM的升级教程了,没有列举全部的命令,仅仅是列举了那些最实用的命令. 很不错. -------- ...

  9. 简明 Vim 练级攻略(转)

    原文:http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会 ...

随机推荐

  1. linux TCP数据包重传过程----小结

    于TCP/IP协议栈的TCP协议的重传功能是由在linux内核源码(net/ipv4/tcp_output.c)中的函数tcp_retransmit_skb()实现的 代码如下: /* This re ...

  2. 【转】android onNewIntent()触发机制及注意事项

    一.onNewIntent() 在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestro ...

  3. android 小知识点

    小知识点总结 1. android中MotionEvent.ACTION_CANCEL事件如何被触发? 对于这个问题,android文档的说明很简短,想看明白很难.国外一网页说的还比较详细,写在这里分 ...

  4. 使用spring.net 1.3.2框架部署在虚拟目录上发生错误

    如果你的网站使用了Spring.net 1.3.2,并部署在IIS的虚拟目录上,那么将会出现如下错误:    The virtual path '/currentcontext.dummy' maps ...

  5. 重学HTML

    http://www.imooc.com/learn/9 1.em/strong 如果想在一段话中特别强调某几个文字,这时候就可以用到<em>或<strong>标签. 但两者在 ...

  6. 【转】Android 属性动画(Property Animation) 完全解析 (上)

    http://blog.csdn.net/lmj623565791/article/details/38067475 1.概述 Android提供了几种动画类型:View Animation .Dra ...

  7. Python-面向对象 (二 继承)

    一 继承   基类定义例如以下: class people:     #define attribute     name = ''     age  = 0     #define private ...

  8. 模拟log4j获取日志对象调用所在的类名、方法名及行号

    当我们在记录日志时,每个类中会定义一个日志对象,然后利用这个对象去写日志,那么我们在处理日志时,如何能才能记录日志对象所在的类.方法和行号呢?log4j中已经实现了该功能,那么它是怎么实现的呢? 其实 ...

  9. 【JavsScript】转载---如何成为优秀的前端

    题记 做好前端 关于离职 如何成为优秀的前端 书籍推荐 博客推荐 源码阅读 去面试 14年计划 招聘信息 题记 四月前,低迷.失志踌躇不前形容自己再好不过,中途来了一次彻底的醒悟,于是我发现自己变得勤 ...

  10. 【JavaScript】Registering JavaScript object methods as callbacks

    The registration of callback functions is very common in JavaScript web programming, for example to ...