什么是 vim?

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令

移动光标

  1. w(e)移动光标到下一个单词
  2. b移动到光标上一个单词
  3. 数字0移动到本行开头
  4. $移动光标到本行结尾
  5. H移动光标到屏幕首行
  6. M移动到光标到屏幕的中间一行
  7. L移动光标到屏幕的尾行
  8. gg移动光标到文档的首行
  9. G移动光标到文档尾行
  10. ctrl + f下一页
  11. ctrl + b上一页
  12. ``.` 移动光标到上一次的修改行

查找

  1. /chaoge在整篇文档中搜索chaoge字符串,向下查找
  2. ?chaoge在整篇文档中搜索chaoge字符串,向上查找
  3. *查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
  4. #查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
  5. gd找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
  6. %找到括号的另一半!!

复制,删除,粘贴

  1. yy拷贝光标所在行
  2. dd删除光标所在行
  3. D删除当前光标到行尾的内容
  4. dG删除当前行到文档尾部的内容
  5. p粘贴yy所复制的内容
  6. x删除光标所在的字符
  7. u撤销上一步的操作

数字与命令

  1. 3yy拷贝光标所在的3行
  2. 2dd删除光标所在2行

输入模式

在命令模式下按下字母i

底线命令模式

在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:

  1. :q!强制退出
  2. :wq!强制写入退出
  3. :set nu显示行号
  4. :数字调到数字那行
  5. 随时按下esc可以退出底线命令模式

vim工作模式

vim按键

移动光标

  1. 移动光标的方法
  2. h 或 向左箭头键(←) 光标向左移动一个字符
  3. j 或 向下箭头键(↓) 光标向下移动一个字符
  4. k 或 向上箭头键(↑) 光标向上移动一个字符
  5. l 或 向右箭头键(→) 光标向右移动一个字符
  6. 向下移动5行5j
  7. 向右移动10字符10l
  8. n(space)    按下数字n,例如10,然后按下空格,光标会向右移动10个字符

底线命令

  1. :! command暂时离开vim指令模式,执行command的结果
  2. :set nu显示vim行号
  3. :set nonu取消行号

参考文章:http://www.runoob.com/linux/linux-vim.html