文本编辑器vi命令
文本编辑器的作用
- 创建或修改文本文件
- 维护linux系统中的各种配置文件
linux中最常用的文本编辑器
- vi:类unix操作系统中的默认文本编辑器
- vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本(具有编辑程序的能力,会主动利用不同的字体颜色来辨别语法的正确性,方便程序的设计)
vi与vim之间的区别
vim是vi的升级版
vi编辑器的工作模式
三种工作模式
命令模式、切入模式、末行模式
不同模式之间的切换
[root@localhost~]# vi 文件名
a、i、o等键进入输入模式 ESC退出输入模式
:键进入末行模式 ESC退出末行模式
命令模式的基本操作
光标移动
操作类型 | 操作键 | 功能 |
---|
方向移动 | ↑、↓、←、→ | 上、下、左、右 |
翻页 | page down或ctrl+F | 向下翻动一整页内容 |
| page up或ctrl+B | 向上翻动一整页内容 |
行内快速跳转 | Home键或“^”、数字“0” | 跳转至行首 |
| End键或“$”键 | 跳转至行尾 |
行间快速跳转 | 1G或gg | 跳转到文件的行首 |
| G | 跳转到文件的末尾行 |
| #G | 跳转到文件中的第#行 |
行号显示 | :set nu | 在编辑器中显示行号 |
| :set nonu | 取消编辑器中的行号显示 |
复制、粘贴、删除
操作类型 | 操作键 | 功能 |
---|
删除 | x或Del | 删除光标处的单个字符键 |
| dd | 删除当前光标所在行 |
| #dd | 删除从光标所在行开始的#行内容 |
| d^ | 删除当前光标之前到行首的所有字符 |
| d$ | 删除当前光标出到行尾的所有字符 |
| dw | 删除当前光标的单词 |
复制 | yy | 复制当前行整行的呢容到剪切板 |
| #yy | 复制从光标所在开始行的#行内容 |
粘贴 | p | 将缓冲区中的内容粘贴到贯标 |
| P | 粘贴到光标位置出之前 |
文件内容查找
操作键 | 功能 |
---|
/word | 从上而下在文件中查找字符串“word” |
?word | 从下而上在文件中国查找字符串“word” |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
撤销编辑及保存退出
操作键 | 功能 |
---|
u | 按一次取消最近的一次操作;重复u键,恢复多步操作 |
U | 用于取消对当前行所作的所有编辑 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
末行文件的基本操作
保存文件及退出vi编辑器
功能 | 命令 | 备注 |
---|
保存文件 | :w | 保存修改的内容 |
| :w /root/newfile | 另存为其他文件 |
退出vi | :q | 未修改退出 |
| :q! | 放弃对文件内容的修改,并退出vi |
保存文件退出vi | :wq或x或zz | 保存修改的内容并退出 |
打开新文件或读入其他文件内容
命令 | 功能 |
---|
:e ~/install.log | 打开新的文件进行编辑 |
:r /etc/filesystems | 在当前文件中读入其他文件内容 |
文件内容替换
命令 | 功能 |
---|
:s /old/new | 将当前行中查找到的第一个字符串“old”替换为“new” |
:s /old/new/g | 将当前行中查找到的所有字符串“old”替换为“new” |
:#,# s/old/new/g | 在行号“#,#”范围内替换所有字符串“old”为“new” |
:% s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” |
:s /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
总结
- 查看文件内容(cat、more、less、head、tail)
- 统计和检索文件内容(wc、grep)
- 备份恢复文档(gzip/gunzip、bzip2/bunzip2、tar)
- vi文本编辑器工作模式与不同工作模式之间的切换
- vi文本编辑器命令模式与末行模式的基本操作