参考学习视频:整体介绍和模式转换
1、Vi/Vim是什么
- VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器
- VIM 是 从 VI 发展而来的一个性能更强大的文本编辑器
- 可以主动的以字体颜色辨别语法的正确性,方便程序设计
- VIM 和 VI 编辑器完全兼容
2、模式
- 模式转换
2.1、一般模式
以 vi/vim 打开一个档案就直接进入一般模式了(这是默认的模式)。
在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、粘贴』来处理你的文件数据。
常用语法(语法中的n代表数字):
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 nyy:复制n行。注:yny也可实现 y$:复制光标位置到行结尾(shift+4) y^:复制光标位置到行开头(shift+6)注:y0也可实现 |
p | 粘贴到光标行的下一行 np:粘贴n行 |
dd | 删除光标当前行 ndd:删除n行。注:dnd也可实现 |
u | 撤销上一步 |
w | 单词操作,每次点击都会跳到下一个单词 yw:复制一个词。注:多个用 nyw 或者 ynw dw:删除一个词。注:多个用 ndw 或者 dnw |
b | 单词操作,每次点击都会跳到上一个单词 |
r | 替换光标所在字符(按r之后再按字符进行替换) |
R | 进入替换模式,输入的内容依次替换光标所在的字符(shift+r,相当于Insert) |
x | 剪切一个字母(相当于delete) |
X | 剪切一个字母(相当于Backspace) |
^ | 移动到行头(shift+6) |
$ | 移动到行尾(shift+4) |
G | 移动到页尾(shift+g)。注:L 也可实现(shift+l) gg:移动到页首。注:H也可实现(shift+h) n+G:移动到第n行 |
2.2、编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或REPLACE』的字样,此时才可以进行编辑。
而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式。
进入编辑模式语法:
按键 | 功能 |
---|---|
i | 当前光标前 |
I | 光标所在行最前 |
a | 当前光标后 |
A | 光标所在行最后 |
o | 当前光标行的下一行 |
O | 当前光标行的上一行 |
2.3、指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
基本语法:
命令 | 功能 |
---|---|
: w | 保存 |
: q | 退出 |
: ! | 强制执行 |
/ 要查找的词 | n 查找下一个,N 查找上一个 |
? 要查找的词 | n 查找下一个,N 查找上一个 |
: noh | 取消高亮显示 |
: set nu | 显示行号 |
: set nonu | 关闭行号 |
: s/old/new | 替换当前行匹配到的第一个 old 为 new : s/old/new/g:替换当前行匹配到的所有 old 为 new : %s/old/new:替换每一行匹配到的第一个 old 为 new : %s/old/new/g:替换全文匹配到的所有 old 为 new |
案例实操:强制保存退出
- :wq!