vi 是一个命令,也是一个命令行下的编辑器,它有如下功能:
⚫ 打开文件、新建文件、保存文件
⚫ 光标移动
⚫ 文本编辑
⚫ (多行间|多列间)复制、粘贴、删除
⚫ 查找和替换
一、vi的模式
a)一般模式(光标移动、复制、粘贴、删除)
b)编辑模式(编辑文本)
c)命令行模式(查找和替换)
二、 文件的打开/新建/保存
-
打开vi
vi file_name -
修改之后输入 “:q” (退出)或 “:wq”(先保存再退出) 或 “!q”(强制退出)
-
编辑文件
刚打开文件一般处于一般模式
i: 当前光标位置进入编辑模式
I:当前光标位置所在行的行首进入编辑模式
a:当前光标所在字符的下一个字符进入编辑模式
A: 在光标所在行的行尾,转换为编辑模式
o:在当前光标所在行的下方,新建一行,并转为编辑模式
O:在当前光标所在行的上方,新建一行,并转为编辑模式。 -
快速移动光标
<移动>
h向左移动一个字符 n+h 表示向左移动n个字符
l向右移动一个字符 n+l 表示向右移动n个字符
j向下移动一个字符 n+j 表示向下移动n个字符
k向上移动一个字符 n+k 表示向上移动n个字符
-向上移动一行 n± 表示向上移动n行
+向下移动一行 n+ 表示向下移动n行
nG ngg 表示移动到n行行首
G 直接跳转结尾行行首
<定位到一列>
0:跳转到行首
$: 跳转到行尾
f+字母:跳转到光标所在行之后的这个字母
-
文本查找和替换
a) 查找
一般模式下
/+要查找的内容 后按n或N
注意:
n:在同一个方向重复上一次搜索命令,下一个
N:在反方向重复上一次搜索命令,上一个
在/pattern 之前先跳到第一行则进行全文件搜索。
b) 替换
:%s/p1/p2/g (将所有p1替换为p2)
: %s/p1/p2/gc (将所有p1替换为p2需确认)
⚫ “s“ 全称:substitute 替换;
⚫ “g“ 全称:global 全局;
⚫ “c“ 全称:confirm,确认
网址参考:https://www.runoob.com/linux/linux-command-manual.html
c) 删除
一般模式下:x删除光标位置字符
编辑模式下:正常删除键 -
其他命令
a)find
file xxx (查看文件是运行于PC还是Arm)
b)which 和 whereis
which + ‘命令或应用程序’ (which指令会在环境变量$PATH设置的目录里查找符合条件的文件)
whereis [-bfmsu][-B <目录>…][-M <目录>…][-S <目录>…][文件…] (该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令)
(该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令)