日期:2014-05-16 浏览次数:21067 次
1.前言
vi/vim是linux中很重要的文本编辑器。我第一次使用这个编辑器时,很不习惯,甚至都不知道如何移动光标和插入字符。慢慢地经过学习,才知道如何使用vi/vim。
vi/vim的作用是建立、编辑和显示文本文件,在vi/vim中,没有菜单,只有命令。下面先说说vi和vim的区别:
简单来说,他们都是多模式编辑器,不同的是vim是vi的升级版本,vim不仅兼容vi的所有指令,还引入了一些新的特性
①方向键
在vi中是不支持方向键的
②多级撤销
在vi里,按u只能撤销上次命令,而在vim里可以无限制的撤销。
③易用性
vi只能运行于unix中,而vim不仅可以运行于unix,还可以运行在windows,mac等多操作平台。
④语法高亮
vim可以用不同的颜色来加亮你的代码。
⑤可视化操作
vim不仅可以再终端运行,也可以运行于windows、mac os中。
⑥对vi的完全兼容
在某些情况下,可以把vim当做vi来使用。
2.常用命令
vi有三种工作模式:命令模式、插入模式和编辑模式。一进入vi,默认的是命令模式,即输入的内容,系统全部当成是命令。当编辑模式执行完以后,自动回到命令模式。下面给出一张图,说明这三种模式的切换:

2.1插入模式
| 命令 | 作用 |
| a | 在光标后附加文本 |
| A | 在本行行末附加文本 |
| i | 在光标前插入文本 |
| I | 在本行开始插入文本 |
| o | 在光标下插入新行 |
| O | 在光标上插入新行 |
2.2定位命令
| 命令 | 作用 |
| h、方向左键 | 左移一个字符 |
| j、方向下键 | 下移一行 |
| k、方向上键 | 上移一行 |
| l、方向右键 | 右移一个字符 |
| $ | 移至行尾 |
| 0 | 移至行首 |
| H | 移至屏幕上端 |
| M | 移至屏幕中央 |
| L | 移至屏幕下端 |
| :set nu | 设置行号 |
| :set nonu | 取消行号 |
| gg G |
到第一行 到最后一行 |
| nG | 到第n行 |
| :n | 到第n行 |
2.3删除命令
| 命令 | 作用 |
| x | 删除光标所在处字符 |
| nx | 删除光标所在处后n个字符 |
| dd | 删除光标所在行,ndd删除n行 |
| dG | 删除光标所在行到文件末尾的内容 |
| D | 删除从光标所在处到行尾的内容 |
| :n1,n2d | 删除指定范围的行 |
2.4复制和剪切命令
| 命令 | 作用 |
| yy、Y | 复制当前行 |
| nyy、nY | 复制当前行一下n行 |
| dd | 剪切当前行 |
| ndd | 剪切当前行以下n行 |
| p、P | 粘贴在当前光标所在行下或行上 |
2.5替换和取消命令
| 命令 | 作用 |
| r | 取代光标所在处字符 |
| R | 从光标所在处开始替换字符,按Esc结束 |
| u | 取消上一步操作 |
2.6搜索和替换命令