1、概念
所有的 Unix Like 系统都会内建 vi 文书编辑器,其它的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。
Vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。连vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
2、Vi/Vim 一般模式
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
命令 | 描述 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
gg | 到文本的第一行 |
G or shift + g | 到文本的最后一行 |
:n | 到文本的第n行 |
x | 删除光标所在处字符 |
nx | 删除光标所在处后的n个字符 |
dd | 删除光标所在行。ndd删除n行 |
dw | 删除一个词 |
d 数字 d | 删除光标(含)后多少行 |
dG | 删除光标所在行到末尾行的所以内容 |
D | 删除光标所在处到行尾的内容 |
:n1,n2d | 删除指定范围的行 |
u | undo,取消上一步操作 |
Ctrl + r | redo,返回到undo之前 |
r | 替换光标所在处的字符 |
R | 从光标所在处开始替换,按Esc键结束 |
Shift+ zz | 保存退出,与":wq"作用相同 |
v | 进入字符可视模式 |
V 或 | Shift + v 进入行可视模式 |
Ctrl + v | 进入块可视模式 |
yy | 复制光标当前一行 |
yw | 复制一个词 |
y数字y | 复制一段(从第几行到第几行) |
p | 箭头移动到目的行粘贴 |
shift+$ | 移动到行尾 |
shift+^ | 移动到行头 |
shift+g | 移动到页尾 |
1+shift+g | 移动到页头 |
数字N+shift+g | 移动到目标行 |
3、Vi/Vim 编辑模式
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退编辑模式。
命令 | 描述 |
i | 在光标前插入 |
I | 在光标当前行开始插入 |
a | 在光标后插入 |
A | 在光标当前行末尾插入 |
o | 在光标当前行的下一行插入新行 |
O | 在光标当前行的上一行插入新行 |
Esc | 退出编辑模式 |
4、Vi/Vim 指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
命令 | 描述 |
w | 保存 |
q | 退出 |
! | 感叹号强制执行 |
/ | 查找,/被查找词,n是查找下一个,shift+n是往上查找 |
? | 查找,?被查找词,n是查找上一个,shift+n是往下查找 |
:wq! | 强制保存退出 |