目录
一、基本简介
1.1 基本简介
1.2 我们怎么使用终端进入到桌面?
1.3 模式间转换
二、一般模式
2.1 操作指令
2.2 什么情况下是一般模式呢?
2.3 怎么进行光标的快速移动?
2.4 复制粘贴操作
2.5 删除操作
三、编辑模式
四、命令行模式
4.1 :wq! 是什么意思
4.2 替换的演示
4.2.1 替换光标所在处字符
4.2.2 将当前行匹配到的boot变为boot
4.2.3 把每一行的第一个boot修改为booot
4.2.4 把全局的boot都修改为booot
一、基本简介
1.1 基本简介
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。
VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。
1.2 我们怎么使用终端进入到桌面?
那我们添加好之后怎么切换输入法?? win+空格键
切换到我们刚刚添加的拼音模式
下面开始编辑我们的文件(记得再把输入法换回来)
成功进入到桌面的这个文件中
1.3 模式间转换
二、一般模式
主要操作:删除、复制、粘贴
2.1 操作指令
语法 | 功能描述 |
yy | 复制光标当前一行 |
y 数字 y 或 数字yy | 复制一段(从第几行到第几行) |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d 数字 d | 删除光标(含)后多少行 |
x | 剪切一个字母,相当于 del (剪切) |
X | 剪切一个字母,相当于 Backspace退格,光标所在的字母不会被删掉,但是光标之前的会删掉 |
yw | 复制一个词 |
dw | 删除一个词 |
shift+6(^) | 移动到行头 |
shift+4 ($) | 移动到行尾 |
1+shift+g | 移动到页头,数字 |
shift+g | 移动到页尾 |
数字+shift+g | 移动到目标行 |
怎么更改仅仅在光标处的字母(单个字符置换)?
摁下r,表示更改当前光标位置处的内容,仅仅是光标位置
注意,大写R会进入替换模式,当进入替换模式后,我们会从光标处开始修改,每修改一字符,光标就会往后走,再修改就再走,做到依次修改
2.2 什么情况下是一般模式呢?
就是我们使用vim或vi打开某一个文件时首先出现的页面,如下图所示。在此页面下,只能进行删除、复制、粘贴的操作
2.3 怎么进行光标的快速移动?
直接移动到文章开头gg 或 H
整个文档结尾 G
整个文章最后的行头L
我们可以进入命令行模式 输入:set nu 就可以查看多少行,进而可以再退出命令行模式,移动到我们想要移动的某一行进行操作
2.4 复制粘贴操作
yy复制光标所在行,p是粘贴在光标所在行
假如我想同一个内容粘贴在好几行呢? 先摁一下5,在摁一下p,也就是5+p,就能实现下面的操作效果,直接粘贴了5行
那怎么一次性复制好几行? 比如复制八行,则是8yy,也可以是y8y
怎么从光标的某个位置,复制到此行的结尾?y+$
比如我只想复制光标之后的内容,便可以按y+$
复制单个单词呢?移动到我们想要复制单词的地方 yw
同样的删除一个词就是dw,当前位置开始到当前单词的结束
2.5 删除操作
直接dd,连续按两个d,就会删除光标所在行的内容
删除好几行就是 数字+dd 或者d数字d
如果删除错了,可以点击u进行撤回,按一下回撤一下
三、编辑模式
也叫插入模式,但是大段的增加或者删除、粘贴,尽量在普通模式搞定,我们只需要在编辑模式进行追加就好了
作用:编辑文本
按键 | 功能 |
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行(类似回车空了一行) |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 当前光标行的上一行 |
当我们点击i之后,左下角会提醒我们进入插入模式,然后可以进行编辑
四、命令行模式
命令 | 功能 |
:w | 保存 |
:q | 退出 |
:wq | 强制保存并退出 |
:! | 强制执行(:q!表示强制退出不保存) |
/要查找的词 | n 查找下一个,N 往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/old/new/g | 替换内容 /g 替换匹配到的所有内容 |
4.1 :wq! 是什么意思
如果是一个只读文件的话,我们当前文件默认是不能更改的,但是如果我是超级管理员或我是这个文件的管理者,那我可以把这个文件的只读改成非只读、可编辑等,那这样的话我就能强制的改掉,这种情况下:wq! 可以把一个只读文件强制的保存并退出
4.2 替换的演示
4.2.1 替换光标所在处字符
首先注意,我们的光标在箭头那里
我们可以看到只有光标所在处的boot变成了booot,所以这个命令就是光标所在行的第一个匹配的boot修改为booot
4.2.2 将当前行匹配到的boot变为boot
最终变成下图所示
4.2.3 把每一行的第一个boot修改为booot
4.2.4 把全局的boot都修改为booot