vim可能对于初学者不太友好,学习曲线有点陡,特此整理了较为平滑的学习曲线的学习快捷键的方式,包含最常用的快捷键,让初学者领悟vim的优点,想要进阶学习请查找其它更好的教程

正常模式:可以使用快捷键命令,或按:输入命令行

插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式

可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本按V进入可视行模式, 总是整行整行的选中ctrl+v进入可视块模式


  1. h或退格 --左移一个字符
    l或空格 --右移一个字符
    j --下移一行
    k: --上移一行
  2. x --剪切(常用来删除)光标下的字符
  3. r --替换光标处的字符
  4. yy 或 Y --复制整行文本
  5. y0 --从光标当前位置复制到行首
  6. y$ --从光标当前位置复制到行尾
  7. p --在光标之后粘贴
  8. P --在光标之前粘贴
  9. [n]dd --删除(剪切)1(n)行
  10. d0 --删除(剪切)当前位置到行首的内容
  11. d$ 或 D --删除(剪切)当前位置到行尾的内容
  12. d --删除(剪切)在可视模式下选中的文本
  13. [n]u --取消一(n)个改动
  14. ctrl + r --重做最后的改动
  15. :earlier 4m --回到4分钟前
  16. :later 55s --前进55秒
  17. :w --保存修改
  18. :x --保存并退出
    wq --保存并退出
    ZZ --保存并退出
  19. :saveas newfilename --另存为
  20. gg --到文件头部
  21. G --到文件尾部
  22. H --把光标移到屏幕最顶端一行
  23. M --把光标移到屏幕中间一行
  24. L --把光标移到屏幕最底端一行
  25. /something --在后面的文本中查找something
  26. ?something --在前面的文本中查找something
  27. n --向后查找下一个
  28. N --向前查找下一个
  29. ctrl+w ctrl+p: 切换到前一个窗口
  30. ctrl+w ctrl+w: 切换到下一个窗口
  31. ctrl+w ctrl+r:旋转窗口的位置
  32. ~ --反转光标所在字符的大小写
  33. :! cmd 执行外部命令
  34. :!! 执行上一次的外部命令
  35. Vex --垂直分割,左目录右编辑窗口
  36. Sex --水平分割,上目录下编辑窗口
  37. :split(:sp) --把当前窗水平分割成两个窗口
  38. :split filename --水平分割窗口,并在新窗口中显示另一个文件
  39. :vsplit(:vsp) --把当前窗口分割成水平分布的两个窗口
  40. :only --只保留当前窗口,关闭其它窗口
  41. :set spell-开启拼写检查功能
  42. :set nospell-关闭拼写检查功能

Vim源代码地址:

https://github.com/vim/vim

参考资料:

http://www.cnblogs.com/jiqingwu/archive/2012/06/14/vim_notes.html

欢迎访问我的GitHub: github.com/Vant1032

Vim常用快捷键--正常的学习曲线的更多相关文章

  1. VIM常用快捷键(转载)

    移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...

  2. [转贴] VIM 常用快捷键 --一直记不住

    vim 常用快捷键  原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...

  3. [转帖]VIM常用快捷键

    VIM常用快捷键 https://www.cnblogs.com/markleaf/p/7808817.html 快捷键能够显著的提高工作效率 一.移动光标 h,j,k,l 上,下,左,右ctrl-e ...

  4. Linux系统下vim常用快捷键及功能

    1. 什么是vim Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性. vim编辑器是Linux系统下标准的编辑器,作用相当于windows系统中的记 ...

  5. vim常用快捷键总结一(光标移动命令)

    vim编辑器的工作模式分为3种即(命令模式,编辑模式和尾行模式),具体定义这里就不在赘述了,这里只简单介绍各工作模式下对应的操作和快捷方式. 通常来说三三种模式功能划分大致如下 命令模式:定位.翻页. ...

  6. VIM 常用快捷键

    一,光标移动 大家不要觉得光标移动不重要,其实它是基础,更好的光标移动,复制,粘贴,删除等才能更加的得心应手,进入了编辑器里面后,鼠标就不能用了. 光标移动 h 或 向左箭头键(←) 20h或者20( ...

  7. [Linux] VIM 常用快捷键2

    如何使用MacVim 1.在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面 VIM 就像一个“哑巴”编辑器一样.很多新手都会一直呆在插入模式里面,因为这样易于使用.但 ...

  8. VIM常用快捷键~网页上查找

    转自~木枫林 转自~鸟哥的私房菜 第十章.vim 程序编辑器 第十章.vim 程序编辑器 最近更新日期:2009/08/20 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案 ...

  9. vim 常用快捷键 二[转]

    键盘移动 (Move) 一切都从键盘的移动k -> 上 upj -> 下 downh -> 左 leftl -> 右 rightz -> 重画屏幕,当前光标变成屏幕的第一 ...

随机推荐

  1. ROUND function and arithmetic overflow

    遇到如下错误 Arithmetic overflow error converting expression to data type numeric. ), ); https://stackover ...

  2. 韩顺平Oracle笔记

    韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring   目录(?)[-] ...

  3. Bing必应地图中国API-放大与平移

    Bing必应地图中国API-放大与平移 2011-05-24 14:26:32|  分类: Bing&Google|字号 订阅     有些时候我们不希望通过默认的控制栏来控制地图,而是希望能 ...

  4. BZOJ_1493_[NOI2007]项链工厂_Splay

    BZOJ_1493_[NOI2007]项链工厂_Splay Description T公司是一家专门生产彩色珠子项链的公司,其生产的项链设计新颖.款式多样.价格适中,广受青年人的喜爱. 最近T公司打算 ...

  5. 2011–2012, Northern Subregional J. John’s Inversions

    考虑某一种状态,无论如何调整卡片位置,都不会减少逆序对数量,这就是我们要找的最优解. 显然在对于一个颜色的数字有序时,达到了上述状态. 于是,我们根据一个颜色的值排序后再计算逆序对就得到了答案. #i ...

  6. bzoj1509

    树的直径 我先开始以为是个图,想想并不知道什么求图的直径的方法,结果是棵树 那么直觉告诉我们是在直径上面,实际上就是直径+min(i->u,i->v),扫一遍就行了 #include< ...

  7. bzoj3566

    3566: [SHOI2014]概率充电器 Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 982  Solved: 422[Submit][Statu ...

  8. 谈CSS布局中HTML标签语义化

    很多人都在做前端,当然这里包括很多新手,也许在新手的想法就是在做布局的时候不要用font标签之类的就算是web标准了,这样一来,造成如今网上“div泛滥”,一看源文件,霍,除了div没其他标签了. 这 ...

  9. c#自定义ORM框架---(泛型&反射&实体类扩展属性<附带通用增、删、查、改>)

    该教材主要是运用到泛型.反射和实体类扩展属性 步骤一.建立扩展属性类 实体类扩展属性要继承Attribute基类完成 [AttributeUsage(AttributeTargets.Property ...

  10. 微信小程序setData的使用,通过[...]进行动态key赋值

    首先先介绍一下微信小程序Page.prototype.setData(Object data, Function callback)的讲解: setData函数用于将数据从逻辑层发送到视图层(异步), ...