什么是 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被当作了一个命令
移动光标
- w(e)移动光标到下一个单词
- b移动到光标上一个单词
- 数字0移动到本行开头
- $移动光标到本行结尾
- H移动光标到屏幕首行
- M移动到光标到屏幕的中间一行
- L移动光标到屏幕的尾行
- gg移动光标到文档的首行
- G移动光标到文档尾行
- ctrl + f下一页
- ctrl + b上一页
- ``.` 移动光标到上一次的修改行
查找
- /chaoge在整篇文档中搜索chaoge字符串,向下查找
- ?chaoge在整篇文档中搜索chaoge字符串,向上查找
- *查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
- #查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
- gd找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
- %找到括号的另一半!!
复制,删除,粘贴
- yy拷贝光标所在行
- dd删除光标所在行
- D删除当前光标到行尾的内容
- dG删除当前行到文档尾部的内容
- p粘贴yy所复制的内容
- x删除光标所在的字符
- u撤销上一步的操作
数字与命令
- 3yy拷贝光标所在的3行
- 2dd删除光标所在2行
输入模式
在命令模式下按下字母i
底线命令模式
在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:
- :q!强制退出
- :wq!强制写入退出
- :set nu显示行号
- :数字调到数字那行
- 随时按下esc可以退出底线命令模式
vim工作模式
vim按键
移动光标
- 移动光标的方法
- h 或 向左箭头键(←) 光标向左移动一个字符
- j 或 向下箭头键(↓) 光标向下移动一个字符
- k 或 向上箭头键(↑) 光标向上移动一个字符
- l 或 向右箭头键(→) 光标向右移动一个字符
- 向下移动5行5j
- 向右移动10字符10l
- n(space) 按下数字n,例如10,然后按下空格,光标会向右移动10个字符
底线命令
- :! command暂时离开vim指令模式,执行command的结果
- :set nu显示vim行号
- :set nonu取消行号
参考文章:http://www.runoob.com/linux/linux-vim.html