参考链接:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

本文将更简化,只保留其中的精华部分。

Level One —— Survive


♦ 键入i进入Insert模式;输入ESC返回Normal模式。

♦ x ↘ 删除光标下的字符。

♦ :wq ↘ 保存并退出,其中w为保存(write),而q为退出(quit)。

♦ dd ↘ 删除并复制当前行。

♦ p ↘ 复制(Paste)。

♦ hjkl ↘ 左下上右,移动光标。j看起来像一个向下的箭头。

♦ :help <command> ↘ 显示关于该命令的帮助。使用:q退出。

Level Two —— Feel comfortable


① 更多插入模式

♦ a ↘ 在光标之后插入。

♦ o ↘ 在当前行后插入新行。

♦ O ↘ 在当前行前插入新行。

♦ cw ↘ 替换光标当前位置到当前单词末尾的内容。

  Change Delete Yank(Copy)
Line cc dd yy
Letter cl dl yl
Word cw dw yw

② 光标的基本移动命令

♦ 0 ↘ 这里是零,移动光标到第一列。

♦ ^ ↘ 移动光标到当前行第一个非空字符。

♦ $ ↘ 移动光标到当前行行尾。

♦ g_ ↘ 移动光标到当前行最后一个非空字符。

♦ /pattern ↘ 按pattern向后进行搜索。

♦  ?pattern ↘ 按pattern向前进行搜索。

③ 拷贝与复制

♦ p ↘ 小p,在当前位置后插入。

♦ P ↘ 大p,在当前位置前插入。

♦ yy ↘ 拷贝当前行,等价于ddP。

④ 撤消与重做

♦ u ↘ 撤消(undo)。

♦ Ctrl+r ↘ 重做(redo)::

⑤ 加载/保存/退出/改变文件(Buffer缓冲区)

♦ :e <path to file>↘ 打开文件。

♦ :w ↘ 保存文件。

♦ :saveas <path to file> ↘ 保存当前文件到<path to file>中。

♦ :x,ZZ或:wq ↘ 保存并退出(:x仅在需要时保存,而ZZ则不需要输入冒号)。

♦ :q! ↘ 退出但不保存。

♦ :qa! ↘ 无论文件是否正在编辑(修改还在Buffer中),都强制退出。

♦ :bn (:bp) ↘ 当打开多个文件时,使用这两个命令切换至下一个或上一个文件。

Level Three —— Better & Stronger & Faster


① Better

♦ . ↘  (dot) 重复最后一条执行的命令。

♦ N. ↘ 重复最后一条命令N次。

♦ N<command> ↘ 重复该命令N次。

♦ Ndd ↘ 删除N行。

♦ Np ↘ 粘贴N次。

♦ Nidesu [ESC] ↘ 写"desu“N次。

② Stonger

♦ NG ↘ 跳转到第N行。

♦ gg ↘ 它是1G的缩写,跳转到文件的初始位置。

♦ G ↘ 跳转到最后一行。

默认时,单词由字母和下划符。

♦ w ↘ 跳转到接下来单词的开始位置。

♦ e ↘ 跳转到当前单词的结束位置。

假设你认为单词是有blank字符作为分隔符,那么你需要使用大写的E和W(编程的时候用)。

♦ ↘ 在新规则下,跳转到接下来单词的开始位置。

♦ E ↘ 在新规则下,跳转到当前单词的结束位置。

♦ % ↘ 跳转到对应的(,{,[。

♦ *# ↘ 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)。

③ Faster

Vim中大多数命令都可以以下边的格式来使用:

<start position><command><end position>

For example:

♦ 0y$ ↘  跳转到当前行的起始位置, 从当前位置复制到当前行的结束。

♦ ye ↘ 从当前位置复制到当前行末尾。

♦ y2/foo ↘ 从当前位置复制到第2个出现的”foo“。

同理,由y可以推理到d(删除)和v(虚拟选择),以及gU(大写化)和gu(小写化)。

Level 4 —— Vim Superpowers

①当前行上的光标移动

♦ 0 ↘ 将光标移动到第一列。

♦ ^ ↘ 将光标移动到当前行的第一个字符上。

♦ $ ↘ 将光标移动到当最后一列。

♦ g_ ↘ 将光标移动到当前行的最后一个字符上。

♦ fa ↘ 将光标移动到下一个为a的字符处。这里的a是泛指任意字符。同理,你也可以用fb将光标移动下一个字符b上。

♦ t, ↘ 向前移动光标到,(逗号)之前。逗号也可被其它符号替换,比如,分号”;“。

♦ T, ↘ 向后移动光标到,(逗号)之前。

♦ 3fa ↘ 向前查找在当前行出现的第三个a字符。

♦ 3Fa ↘ 向后查找在当前行出现的第三个字符。

♦ dt" ↘ 删除当前位置到"之间的一切。

② 区域选择

这些命令只能被用于visual模式下,且在一个操作符之后。

Ctrl + v进行矩形块选择。

主要格式:<action>a<object> 和 <action>i<object>

这里的action可以是任意action。如,d(删除),y(复制),v(选择visual模式)。

这里的object可以是:w代表word,W代表WORD(扩展word),s代表句子,p代表段落。

假设由如下文字,且光标在第一个o上:

使用vi“的效果如下:

使用va"的效果如下:

使用vi)

使用va)的效果如下:

使用v2i)的效果如下:

使用v2a)的效果如下:

③ 自动补全命令

♦  Ctrl + p和Ctrl + n,这里的n是next的意思。

④ 宏

qa将你的actions记录在寄存器a中。@a会重新执行保存在寄存器a中的宏。@@是一个快捷键,用以执行最近一次被执行的宏。

qaYp<Ctrl + a>q

qa开始记录

Yp重复当前行

Ctrl + a增量当前数字

q结束记录

⑤ Visual选择

Ctrl + v,v 和V

J 整合所有行

< (>) 向左缩进(向右缩进),用得较多的自然是向右缩进。

= 自动缩进

A 插入

⑥分割

:split 水平分割

:vsplit 垂直分割

:e <文件> 打开文件

Ctrl + w切换窗口

Ctrl + + 增大窗口

Ctrl + - 减少窗口

Ctrl + / 增大当前窗口

Ctrl+w+hjkl跳转窗口

:close 关闭串口

:only 关闭其它所有窗口

:qall 全部窗口退出

:wall 全部保存。

vim -o 文件1 文件2 ... 分屏打开文件

Vim简本的更多相关文章

  1. 如何创建Vim Dotfile?

    Dotfile是电脑系统里的隐藏文件,它是专门给更高级的用户,如开发者.程序员或工程师使用的,让他们用来调整系统.如何创建Vim-Dotfile? 可以参考以下步骤: 1. 首先,你要检查一下.vim ...

  2. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  3. vim安装中文帮助手册

    安装方法:   在下面的网站下载中文帮助的文件包:$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar. ...

  4. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  5. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  6. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  7. VIM教程

    vim 的环境设定参数 :set nu :set nonu             就是设定与取消行号啊! :set hlsearch :set nohlsearch     hlsearch 就是 ...

  8. 在 Linux 打造属于自己的 Vim

    Linux 系统中很多东西都是以脚本代码.配置文件的形式存在,使用 Linux 系统时,需经常对这些文件进行编辑.很显然,如果没有文本编辑器,江湖之路寸步难行. 我的选择是 Vim.Vim 是 Lin ...

  9. 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE

    C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...

随机推荐

  1. liferay笑傲江湖-API之参数的工具类(ParamUtil)

    public class ParamUtil { 036 037 public static boolean get( 038 HttpServletRequest request, String p ...

  2. c# 日期函数[string.Format----GetDateTimeFormats]格式

    DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:21:25Label2.Text = dt.ToFileTi ...

  3. 来自阿里妈妈的iconfont(转)

    转自http://www.augsky.com/775.html 随便说说两者的优缺点 其实主要是说iconfont的优点和Font Awesome的缺点.-_-|||iconfont的图标库相当巨大 ...

  4. 027-chown命令

    (1)只有文件主和超级用户才可以便用该命令.

  5. 成本安全硬件(二):RFID on PN532 之WINDOWS 环境应用

    看了 低成本安全硬件(二):RFID on PN532之后,手上也有树莓派,于是下单买了个PN532 按文章方法,安装各类软件 ,折腾好好几天 还是不得行,LINUX 环境够乱啊 在网络 重新搜索,基 ...

  6. Hive 入门学习线路指导

    hive被大多数企业使用,学习它,利于自己掌握企业所使用的技术,这里从安装使用到概念.原理及如何使用遇到的问题,来讲解hive,希望对大家有所帮助. 此篇内容较多:看完之后需要达到的目标: 1.hiv ...

  7. 学习Linux的正确姿势

    学习Linux的正确姿势 端正学习态度1.Linux不等于骇客(or Cracker).当然众所周知很多“黑客工具”都是Linux平台上的,我帮助过很多Linux小白发现他们殊途同归都是朝着类似Air ...

  8. Python入门之面向对象编程(二)python类的详解

    本文通过创建几个类来覆盖python中类的基础知识,主要有如下几个类 Animal :各种属性.方法以及属性的修改 Dog :将方法转化为属性并操作的方法 Cat :私人属性讲解,方法的继承与覆盖 T ...

  9. PHP-ThinkPHP5砍价活动相关设计

    近期我们公司项目里陆陆续续有很多为了招引新用户的活动推出,砍价的活动由我来负责,我们的项目是在微信浏览器里供用户浏览访问. 大概描述:进入砍价活动列表页选择有意向的商品,用户点击商品图片可以看到WEB ...

  10. COOKIE与SESSION、Django的用户认证、From表单

    一.COOKIE 与 SESSION 1.简介 1.cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. ...