vi的三种模式
1、命令模式: vi的默认进入状态(不可以输入字符,但可以对字符进行操作,复制,移动、删除等操作)
2、输入模式: 输入字符状态(只可以输入和使用del和退格backspace键删除文字)
3、末行模式 :在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)
vi的启动和退出
#vi file 编辑file文件
#vi /tmp/file1 编辑指定目录/tem下的file1文件
:w 保存修改
:q 退出vi
:wq 保存并退出
:q! 强行退出 vi,不保存修改
模式转换
编辑-->输入:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
vi命令模式下的操作
# set nu 设置行号
# set nonu 取消设置行号
删除字符
x 键或del键
7x 删掉光标后面的 7 个字符 dw 删除一个词(剪切)
dd 删除行(剪切)
4dd 删除 4 行(剪切)
复制操作
yw 复制一个词
yy 复制光标所在的行
4yy 复制光标所在行的下面 4 行
粘贴操作
p 粘贴在光标所在的下一行(如果粘贴词的话,粘贴在光标字符的后面)
撤销操作
u 撤销,可以撤销到最近的一次保存的状态
:e! 恢复到文档的初始状态
ctrl+r 取消撤销操作
移动光标
h: 左
l: 右
j: 下
k: 上
以单词为单位移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
行内跳转
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
翻屏
Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
跟shell交互
切换到末行模式
:! COMMAND