简介
说明:Vim和Vi的操作是一样的,所以不必担心Vi的
操作对Vim无效
在所有得Linux distributions上都会有一套Vi 文本编辑器 。而且很多软件默认也是将Vi作为它们的编辑界面,Vim是Vi的高级版本,Vim不仅可以用不同的颜色显示文字的内容,还能进行诸如shell脚本,C等程序编辑功能。
Vi有三种工作模式: 一般模式、编辑模式、命令模式。
一般模式
用vi打开一个文件会直接进入一般模式,在此模式下,可以使用上下左右按键来移动光标,也可以进行删除字符操作,复制、粘贴文件数据。
下面介绍一下一般模式经常会用到的一些操作:
操作 | 功能 |
---|---|
h或左箭头 | 光标向左移 |
j或下箭头 | 光标向下移 |
k或上箭头 | 光标向上移 |
l或右箭头 | 光标向右移 |
0 | 光标移动到这一行最前面的字符 |
$ | 光标移动到这一行最后的字符 |
gg | 移动到文件的第一行 |
nG | 移动到文件的第n行 |
n< space > | 右移n个字符距离 |
x | 向后删除一个字符 |
X | 向前删除一个字符 |
nx | 连续向后删除n个字符 |
dd | 删除光标所在的一行字符 |
yy | 复制光标所在那一行 |
y0 | 复制光标所在字符到那一行行首的字符 |
y$ | 复制光标所在字符到那一行行末的字符 |
p | 将复制的内容粘贴在光标下一行 |
P | 将复制的内容粘贴在光标上一行 |
J | 将光标所在行与下一行结合成一行 |
u | 复原前一个操作 |
. | 重复前一个操作 |
[Ctrl]+r | 重复前一个操作 |
编辑模式
编辑模式才是用来编辑文件中的内容,在编辑模式中,我们可以像Windows系统下进行文本的编辑,转换到Linux下时只要掌握编辑时的插入点即可:
操作 | 功能 |
---|---|
i | 在目前光标处开始编辑 |
a | 在目前光标下一个字符处开始编辑 |
o | 在目前光标的下一行处开始编辑 |
O | 在目前光标的上一行处开始编辑 |
r | 替换光标所在的字符一次 |
[Esc] | 退出编辑模式,到一般模式 |
再说一个编辑模式下的问题:有时候编辑模式下使用方向键时会自动打印出ABCD这些字母,或者按回车会显示出字母,解决方法就是在命令行中输入以下内容:
guquan@ubuntu:~$ echo "set nocp" >> ~/.vimrc
guquan@ubuntu:~$ source ~/.vimrc
命令模式
命令模式一般是在完成文件的编辑后使用的,可以对文件进行保存、离开文件等操作:
操作 | 功能 |
---|---|
:w | 将编辑的数据写入文件中 |
:w! | 当文件的属性为只读时,将编辑的数据强制写入文件 |
:q | 退出vi |
:q! | 强制退出vi,不会保存修改的内容 |
:wq | 保存修改的内容,并退出vi |
ZZ | 直接退出vi,若文件修改,则保存修改 |
:w[filename] | 另存为,将编辑的数据保存为另一个文件 |
:r[filename] | 在编辑的数据后读入另一个文件的数据 |
:n1,n2 w [filename] | 将n1至n2行数据保存为另一个文件 |
:set nu | 显示行号 |
:set nonu | 取消显示行号 |
三种模式的转换
对于vi中的一般模式、编辑模式、命令模式,三种模式可以进行相互转换,但编辑模式不可以和命令模式进行直接转换,只能在一般模式与编辑模式、一般模式与命令模式之间实现相互转换。