目录

vi \ vim 编辑器的三种编辑模式

vi \ vim 的使用

        模式的切换

         命令模式下的命令

        底线模式

vi \ vim 是visual interface 的简称, 是linux中的经典文本编辑器, 同图形化界面中的文本编辑器一样, 但是vi是使用命令行来对文本进行编辑的最好选择

        vim是vi的加强版本, 兼容vi的所有指令, 不仅可以编辑文本, 而且还具有shell 程序编辑的功能, 可以不同颜色的字体来辨别语法的正确性, 极大地方便了程序的设计和编辑性

         简单来说, vi是老师的文字处理器, 不过功能已经非常齐全了, 但是还是有可以进步的地方, vim则可以说是程序开发的一项很好用的工具, 连vim的官方网站自己也说vim是一个程序开发工具, 而不是文字处理软件

vi里面有很多命令, 下面是他的键盘图:

vi \ vim 编辑器的三种编辑模式

命令模式: 此模式下所敲的按键编辑器都理解为命令, 此模式下不能自由进行文本编辑输入模式: 也就是文本编辑模式, 插入模式, 此模式下可以自由对文件内容进行编辑底线命令模式: 以: 开始, 通常用于文件的保存 和 退出

vi \ vim 的使用

        模式的切换

我们首先在/Home/niceff目录中创建一个hello.txt文本文件: 然后使用vi 来打开这个文件:

        使用命令: vi hello.txt (如果这个文件存在, 那么就直接打开这个文件 , 如果没有这个文件 , 就创建一个新的文件)

下面是我们刚开始使用vi打开这个文件的样式, 他刚开始是处于命令模式:

此时我们按下键盘上的i键:  此时我们进入了输入模式, 此时我们就可以编辑文件内容了

例如我们输入: hello world

此时可以通过键盘上的esc键, 退出输入模式, 回到命令模式: 接下来进入底线命令模式: 在命令模式下, 按下 shift + ;键, 也就是输入冒号:, 就会进入底线命令模式:

 此时我们输入wq (w表示保存, q表示退出)

 于是就保存退出了, 同时我们使用cat命令来查看这个文件的内容是否被修改:

 可以看见成功修改了

         命令模式下的命令

         命令模式下, 敲击键盘的动作会被vi 或者vim是被为目录, 而不是输入字符, 比如我们在目录模式下按下i键, 就会进入输入模式, 而不是输入一个字符, 这个i就被当做了一个命令

        以下是命令模式下一些常用命令:

模式命令描述命令模式i在当前光标位置进入输入模式命令模式a在当前光标位置之后进入输入模式命令模式I在当前行的开头进入输入模式命令模式A在当前行的结尾进入输入模式命令模式o在当前光标下一行进入输入模式命令模式O在当前光标上一行进入输入模式输入模式esc任何情况下输入esc都能会到命令模式

一个案例:

我们在Desktop目录下面创建一个test.txt文件, 并写入以下内容:

 使用vim + 文件, 使用vim打开文件:

打开的文件内容如下: 当前进入的是命令模式, 在命令模式下, 可以使用键盘的↑↓←→, 也就是上下左右键来控制光标的移动.

当然也可以使用命令模式下的命令键来使光标移动:

j : 向下移动光标k : 向上移动光标l: 向右移动光标h: 向左移动光标

在命令模式下输入i进入输入模式:

(或者使用下面这些命令)

还有如下命令 

 

 对于文本中的内容:

如果我们想搜索里面的内容, 可以在命令模式下点击斜杠 / 进入搜索模式:

 例如我们现在要搜索you这个单词:

在finalShell中会以黄色背景来高亮显示, 在CentOS中也是如此:

我们下次打开这个文件的时候, you还是高亮显示, 这个时候就可以键入:noh就可以消除高亮

在命令模式下的小n和大n, 也就是n和N对应着我们平时使用ctrl + f里面的上下箭头: 

 

 除了这些命令, 还有这些:

 dd: 删除当前行ndd: 删除n行,例如:

上面的命令不一一介绍, 请读者自己实验

删除之后, 可以在命令模式下按下u, 进行撤销(按下u可以切换命令模式)

        底线模式

 在命令状态, 输入" : " 冒号, 就可以进入底线模式

查看原文