常见 Linux vi 命令摘要
1
进入vi命令
vi filename 打开或新建文件,并置光标于行首
vi + filename 打开文件,并置光标与末行行首
vi +n filename 打开文件,并置光标与第 n 行行首
vi +/w1 filename 打开文件,并置光标于第一个匹配w1处
vi -r filename 上次使用vi时发生崩溃,恢复filename
vi file1 file2 ... 打开多个文件,一次编辑
2
移动光标
h 或 [←] 或 [Backspace] 光标左移一个字符
l 或 [→] 或 [space] 光标右移一个字符
k 或 [↓] 或 ^p 光标上移一个字符
j 或 [↑] 或 ^n 光标下移一个字符
nh 或 n[←] 或 n[Backspace] 光标左移 n 个字符;l, j, k类似
b 或 B 光标移至本字字首
e 或 E 光标移至本字字尾
w 或 W 光标移至下一个字字首
nb 或 nB 光标移至前 n 个字字首
ne 或 nE 光标移至后 n 个字字尾
nw 或 nW 光标移至后 n 个字字首
- 光标上移一行
+ 或 [Enter] 光标下移一行
G 光标移至末行行首
0 数字 0, 光标移至本行行首 (常用)
$ 光标移至本行行尾
n- 光标上移 n 行
n+ 或 n[Enter] 光标下移 n 行
nG 光标移至第 n 行行首 (常用)
n$ 光标移至第 n 行行尾
( 光标移至句首
) 光标移至句尾
{ 光标移至段首
} 光标移至段尾
H 光标移至屏幕首行
M 光标移至屏幕中间行
L 光标移至屏幕末行
^f 屏幕上翻一屏(常用)
^b 屏幕下翻一屏(常用)
^d 屏幕上翻半屏
^u 屏幕下翻半屏
3
删除、复制与粘贴
X 向前删除一个字符(常用)
x 或 [del] 向后删除一个字符,
nX 向前删除 n 个字符
nx 删除光标处及其后 n-1个字符
ndw 或 ndW 删除光标处及其后 n-1个字
do 删至行首
d$ 删至行尾
dd 删除本行(常用)
ndd 删除本行及下 n-1 行(常用)
d1G 删除光标前字符 (小心)
dG 删除光标后字符 (小心)
^u 删除输入方式下所输入的文本
yy 复制本行(常用)
nyy 复制本行及下 n-1 行(常用)
y1G 复制光标前字符
yG 复制光标后字符
p 在下一行粘贴
P 在上一行粘贴(常用)
:n1,n2 co n3 将 n1 行到 n2 行内容拷贝到第 n3 行下
:n1,n2 m n3 将 n1 行到 n2 行内容移到第 n3 行下
:n1,n2 d 删除 n1 行到 n2 行内容
J 合并本列与下一列
u 恢复前一个动作。(常用)
4
查找与替换
/word 在光标后查找串 word (常用)
?word 在光标前查找串 word (常用)
n 在同一方向重复上次查找
N 在反方向重复上次查找
:s/w1/w2/g 将本行中的所有 w1 用 w2 替换
:n1,n2s/w1/w2/g 在第 n1 与 n2 行间的 w1 用 w2 替换!(常用)
:1,$s/w1/wd2/g 在首行与末行间的 w1 用 w2 替换 !(常用)
:g/w1/s//w2/g 同上
:1,$s/w1/w2/gc 同上!并且提示是否取代!(常用)
5
进入编辑模式
i 光标前
I 本行行首
a 光标后
A 本行行尾(常用)
o 当前行下插入一行
O 当前行上插入一行(常用)
r 替换当前字符
R 替换当前字符及其后字符,直至按 ESC 退出
s 删除当前字符,并开始输入文本
S 删除本行,并开始输入文本
ncw 或 ncW 删除 n 个字,并开始输入文本
nCC 删除 n 行,并开始输入文本
Esc 退出编辑模式,回到一般模式中(常用)
6
指令命令模式
:w 保存当前文件(常用)
:w! 强制保存当前文件
:q 退出 vi (常用)
:q! 不保存退出 vi,
:wq 保存后退出
:x 同上
ZZ
:wq! 强制保存后离开(常用)
:!command 执行shell命令command
:r!command 将命令command输出放到当前行
:e! 将档案还原到最原始的状态!
:w filename 将文件另存为 filename 文件
:n1,n2 w [filename] 将 n1 与 n2 间内容另存为 filename 文件
:r filename 在当前行下一行读入 filename 文件内容
:set nu 显示行号
:set nonu 取消行号
:set hls 高亮
:set ignorecase 忽略大小
上一篇: 详细解释 linux 下的 vi 命令
下一篇: CentOS 文件查看和编辑详解
推荐阅读
-
常见的 Linux 命令和权限 [第 4 课
-
常见的防火墙配置命令和系统服务管理工具在CentOS 8的Linux系统中: systemctl与firewall
-
` 自动填充为 `cp test.txt`
- 文件和目录名补全:输入文件名首字母后按 Tab,如 `vi ed
` 显示可用的编辑器列表 - 查看命令帮助: - 使用 `man` 命令配合具体命令名获取详尽帮助,如 `man ls` 或者 `man grep --help`"> 在 Linux 中操作指令指南 - 基本构造与种类 - 指令组成: 1. **主指令 + 选项 + 参数**: 如 `ls -l /home`,`main-action option object` - 内置指令:系统预装的 shell 功能,如 `cd`, `pwd` - 外部指令:独立可执行文件,直接用文件名当作命令,如 `rm`, `mv` - **选项与参数**: - 选项:定制命令行为, `-l` 或 `--long-help` - 短选项:简写形式,例如 `-v` 和 `-V` 可能合并使用 - 长选项:详细描述的选项,如 `--version` 或 `--human-readable` - 参数:命令作用的目标,如 `ls` 对 `/home` 目录的操作 - **指令应用**: - 不同指令需要不同的参数 - 选项可带或不带参数,比如 `grep -i "keyword"` (忽略大小写搜索) - 参数间通常用空格分隔,如 `cp file1 file2 file3` - **中断与完成提示**: - 终止当前指令:按下 Ctrl+C - **自动完成**: - 输入部分命令关键词后,按 Tab 键补全命令,如 `cp ta
` 自动填充为 `cp test.txt` - 文件和目录名补全:输入文件名首字母后按 Tab,如 `vi ed ` 显示可用的编辑器列表 - 查看命令帮助: - 使用 `man` 命令配合具体命令名获取详尽帮助,如 `man ls` 或者 `man grep --help` -
关于 Linux 版 Vim/vi 中注释的详细教程--使用命令注释多行:
-
Linux - Vi 编辑命令(插入、替换、命令行模式、撤销)
-
Linux vi 文本编辑器命令
-
Linux vi 文本编辑器常用命令
-
如何在 Linux 下切换 Vi 命令模式和编辑模式?
-
vi 编辑器在 linux 中保存文件的命令_linux 用 vi 编辑文件
-
Linux 使用 vi 命令修改文件内容