一:概述
学习linux就必须知道vi,这是所有Linux发行版本都会有的一个文本编译器,可以用来创建和编辑文件。vi也是Linux系统中最常用的工具之一,它还有一个升级版的vim,与vi相比,vim新增了很多的功能。
二:vi的基本用法
如果用习惯了Windows系统下的Microsoft Word,初学vi对于初学者来说可能有些不适应,因为vi这款文本编译器没有像Word那样的图形化界面。不过也正是因为v不使用图形化界面,工作效率才会非常高。
vi编辑器有三种模式,分别是命令模式、编辑模式和底行模式。这三种模式的用途如下表所示:
模式 | 说明 |
命令模式 | 默认情况下,打开vi编辑器就会自动进入命令模式。在这个模式下你可以使用上下左右键来移动光标、删除字符和整行的内容、进行复制粘贴等。 |
编辑模式 | 从命令模式切换到编辑模式可以使用i、o和a键。在该模式下,可以对文件内容进行编辑,要从该模式回到命令模式可以按下Esc键 |
底行模式 | 进入底行模式要在命令模式下输入:(冒号),之后光标会移动到屏幕最底行。在该模式下你可以对文件进行保存、查找或进行退出vi等操作 |
这三种模式的关系图如下图所示:
由上图可知,在编译模式和底行模式都可以通过Esc键退回到命令模式,命令模式也可以分别进入到这两种模式。但是编辑模式和底行模式是不能相互切换的。这三种模式是你学习vi所需要知道的基础。
了解了上面的三种编辑模式之后,可以启动编辑器来看一下它到底是什么样子。
启动方式很简单; vi 文件名
你输入的文件名可以是存在的也可以是不存在的。如果文件存在,你可以对文件内容进行编辑操作。如果文件不存在,系统也会自动帮你创建这个文件。
启动vi之后,首先进入的就是命令模式。在终端输入vi file1可以使用vi打开file1文件,光标会定位到文件的开头,底部显示的是文件的基本信息,包括文件的名称和文件的基本信息。由于上面这个文件时已经存在的文件,所以底部并未显示New File(新文件)的字样,如果是一个不存在的文件,底部就会显示这样的信息。
注意;底部显示的信息并不是文件本身的内容。
三:命令模式下的按键操作
首先是可以移动的光标的按键,如下表所示:
按键 | 说明 |
Ctrl + b | 屏幕向上翻动一页 |
Ctrl + f | 屏幕向下翻动一页 |
k 或 向上 | 将光标向上移动一个字符 |
j 或 向下 | 将光标向下移动一个字符 |
h 或 向左 | 将光标向左移动一个字符 |
l 或向 右 | 将光标向右移动一个字符 |
$ | 将光标移动至当前行的末尾 |
0(零) | 将光标移动至当前行的开头 |
nG | 移动到文件的第n行 |
想执行删除的操作,可以看看下面的几个按键:
按键 | 说明 |
x、X | x表示向后删除一个字符,X表示向前删除一个字符 |
D | 从光标处删除到一行的末尾 |
dd | 删除光标所在的那一行内容 |
dG | 删除从光标到最后一行的的所有内容 |
nx | 删除光标右边的n个字符 |
ndd | 从光标向下删除n行 |
当你想删除一个字符的时候,把光标移动到i指定的位置,按下x或者X键就可以删除了。在命令模式下,把光标移动到要复制的内容上,使用下面表格里的按键可以执行复制和粘贴操作,如下表所示:
按键 | 说明 |
yl | 复制光标所在的字符 |
yw | 复制光标所在的单词 |
yy | 复制光标所在的一行 |
nyy | 从光标向下复制n行 |
y0 | 从光标所在行的开头复制到光标之前 |
y$ | 从光标所在行的开头复制到行尾 |
P(大写) | 如果复制的是一行或者多行的内容将会粘贴到光标的上一行,如果是字母或者单词将会粘贴在光标之前 |
p(小写) | 如果复制的是一行或多行的内容将会粘贴到光标的下一行,如果是字母的或者单词的话,将会粘贴在光标之后 |