vi
vi 为命令行编辑器软件,可在命令行下进行文件创建和编辑操作。
格式
vi [-H]
说明
[root@sylixos:/root]# help vi
(-H show help) busybox vi editor can Lead <Memory leak>! be carefull!
vi [-H]
[root@sylixos:/root]#
vi 分为三种模式,各模式功能如下:
- 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,进入插入模式或底行模式下。
- 插入模式(insert mode) 只有在插入模式下,才可以进行文字输入,按 ESC 键可返回到命令模式。
- 底行模式(last line mode) 用于文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号等。
常用操作:
- 进入 vi 编辑器:命令行下输入 vi filename,默认进入 vi 命令模式。
- 进入插入模式:在 vi 命令模式下输入 i,即可进入插入编辑模式,可以输入内容,换行,删除字符等操作。
- 退出插入模式:在插入模式下输入 ESC 键。
- 退出 vi:在命令模式下输入冒号进入底行模式,在底行模式下输入 wq 保存当前修改并退出,底行模式下输入 q! 可强制退出。
详细参考菜鸟教程: https://www.runoob.com/linux/linux-vim.html
命令模式
启动 vi 后便进入了命令模式,此状态下键盘输入识别为命令,而非输入文件内容。
以下是常用的几个命令:
- ENTER ,回车键,换行
- BACK SPACE ,退格键,删除光标前一个字符
- DEL ,删除键,删除光标后一个字符
- 方向键 ,在文本中移动光标
- HOME / END ,移动光标到行首/行尾
- Page Up / Page Down ,上/下翻页
- Insert ,切换光标为输入/替换模式,光标将变成竖线/下划线
- hjkl 左下上右移动光标
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- dd 剪切游标所在的那一整行(常用)
- yy 复制游标所在的那一行(常用)
- p、P 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
- J 将光标所在行与下一行的数据结合成同一行
- . (点号)重复前一个动作
- ZZ (大写的 Z)保存当前文件,然后退出
- : 切换到底行命令模式,以在最底一行输入命令。
输入模式
在命令模式下按下 i 就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及 Shift 组合 ,输入字符
- ENTER ,回车键,换行
- BACK SPACE ,退格键,删除光标前一个字符
- DEL ,删除键,删除光标后一个字符
- 方向键 ,在文本中移动光标
- HOME / END ,移动光标到行首/行尾
- Page Up / Page Down ,上/下翻页
- Insert ,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC ,退出输入模式,切换到命令模式
底行命令模式
在命令模式下按下:(英文冒号)就进入了底行命令模式。
命令模式只有一些最基本的命令,因此仍要依靠底行模式输入更多命令。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
- wq 保存并退出
- q! 不保存退出,即强制退出
- w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
- r [filename] 读入文件 filename 并添加到游标所在行后面
按 ESC 键可随时退出底线命令模式。
样例
[root@sylixos:/root]# help vi
(-H show help) busybox vi editor can Lead <Memory leak>! be carefull!
vi [-H]
[root@sylixos:/root]# vi test
hello vi!
~
~
~
I test [Modified] 1/3 33%
hello vi!
~
~
~
~
~
~
:wq
[root@sylixos:/root]# cat test
hello vi!
[root@sylixos:/root]#