1、vi/vim的特点
- vi/vim是一种纯文本编辑器,它不像word可以排版,可以调整字体大小,可以改变字体等,vi/vim只是一个文本编辑工具,它只能对文本的内容进行操作,比如新增内容、修改内容、删除内容等
- vi是一个全屏幕的文本编辑器,在编辑文本时它将占据整个屏幕
2、vi/vim三种编辑模式
vi/vim编辑器的三种编辑模式及作用
编辑模式 | 作用 |
---|---|
命令模式 | 用户执行命令,比如复制行、粘贴行等 |
输入模式 | 用于输入文本、修改文本等 |
末行模式 | 用户查找文本、保存修改等 |
vi/vim三种编辑模式之间转换的方式
命令模式 --> 输入模式
命令 | 作用 |
---|---|
a | 在当前光标的后面转为输入模式 |
i | 在当前光标的前面转为输入模式 |
o | 在当前光标的下面转为输入模式 |
A | 在当前光标的行尾转为输入模式 |
I | 在当前光标的行首转为输入模式 |
O | 在当前光标的上面转为输入模式 |
输入模式 --> 命令模式
ESC:按键ESC
命令模式 --> 末行模式
: 英文状态下的冒号
末行模式 --> 命令模式
ESC ESC :按键ESC
3 文本编辑方式
打开文件方式:文件打开后默认处于命令模式下
vim filename #打开文件
vim +n filename #打开文件并定位到第n行
vim +/pattern filename #打开文件并定位到第一次被/pattern匹配到的内容首行
# 示例
[root@jlin ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
关闭文件方式:
末行模式关闭文件:
命令 | 作用 |
---|---|
q | 退出 |
wq | 保存并退出 |
q! | 不保存退出 |
w | 保存但不退出 |
w! | 强制保存 |
wq! | 强制保存并退出 |
x | 强制保存并退出 |
命令模式关闭文件:
ZZ :保存并退出
移动光标
- 逐字符移动
命令 | 作用 |
---|---|
h | 向左移动一个字符 |
l | 向右移动一个字符 |
j | 向下移动一个字符 |
l | 向上移动一个字符 |
*h | 向左移动*个字符 |
*l | 向右移动*个字符 |
*j | 向下移动*个字符 |
*k | 向上移动*个字符 |
- 以单词为单位移动
命令 | 作用 |
---|---|
w | 移动到下一个单词的词首 |
e | 跳至当前或下一个单词的词尾 |
b | 跳至当前或上一个单词的词首 |
#w | 从当前光标为起点跳至第#个单词的词首 |
#e | 从当前光标为起点跳至第#个单词的词尾 |
#b | 从当前光标为起点跳至第#个单词的词首 |
- 行内跳转
命令 | 作用 |
---|---|
0 | 跳转到绝对行首 |
^ | 跳转到行首 |
$ | 跳转到绝对行尾 |
- 行间跳转
命令 | 作用 |
---|---|
gg | 跳转到第一行 |
3gg | 跳转到第三行 |
G | 跳转到最后一行 |
- 句子间跳转
命令 | 作用 |
---|---|
( | 跳转到上一个句子 |
) | 跳转到下一个句子 |
- 段落间跳转
命令 | 作用 |
---|---|
{ | 跳转到上一个段落 |
} | 跳转到下一个段落 |
- 翻屏
命令 | 作用 |
---|---|
ctrl+f | 向下翻一屏 |
ctrl+b | 向上翻一屏 |
ctrl+d | 向下翻半屏 |
ctrl+u | 向上翻半屏 |
编辑命令
命令 | 作用 |
---|---|
x | 删除光标所在处的单个字符 |
3x | 删除光标所在处及其后共3个字符 |
xp | 交换光标所在处的字符及其后面字符的位置 |
删除命令
命令 | 作用 |
---|---|
dd | 删除当前光标所在行 |
3dd | 删除包含当前光标所在行内一共3行 |
D | 删除当前光标所在行的内容 |
复制命令
命令 | 作用 |
---|---|
yy | 复制当前行的内容 |
3yy | 复制包括当前行在内一共3行内容 |
粘贴命令
命令 | 作用 |
---|---|
p | 粘贴到当前行的后面一行 |
P | 粘贴到当前行的前面一行 |
替换命令
命令 | 作用 |
---|---|
R | 替换多个字符 |
r* | 将当前光标的字符替换为*,*可以是任何字符 |