一、初始-vi
1、 vi-打开文件并且定位行
有可能会遇到打开一个文件,并定位到指定行的情况
例如,知道某一行代码有错误,可以快速定位到出错代码的位置
可以使用以下命令打开文件
$ vi 文件名 +行数
提示:如果只带上+ 而不指定行号,会直接定位到文件末尾
实操:用gedit 改错一个程序,编译看到行号 vi +行号
2、vi-异常情况的处理
如果vi异常退出(比如没保存就关闭了终端窗口),磁盘上可能会保存有 交换文件
下次再使用vi编辑文件时,会看到以下屏幕信息,按下字母d删除交换文件即可
二、vi三种模式及其切换
1、命令行模式
打开文件首先进入命令行模式。这是使用vi的入口可以通过命令,可以进行复制、粘贴、删除、定位等操作 。
2、插入模式(编辑模式) 正常的编辑文字。
3、底行模式
- 光标位于屏幕的底行。
- 底行模式可以输入命令,进行文件的保存、查找、替换等
- 要退出vi,返回到控制台,也是在底行模式下输入退出命令
- 底行模式是vi的出口
4、vi三种模式的切换
5、vi 底行模式下相关命令
6、vi模式切换命令
7、vi 命令-学习提示
① vi的命令较多,不要期望能短期全部记住,更不要期望短期灵活运用
② 多敲多练,习惯一段时间,就潜移默化的越用越好了,忘记了多查、多复习
③ vi的定位:个别命令忘记了,不熟练,只会影响编辑速度而已
④ vi的使用熟练度,不影响继续学习后面知识
⑤ 坚持使用,无心插柳柳成荫
三、vi 光标命令
1、快速移动
2、行内移动
3、行数移动
4、屏幕移动(浏览代码)
四、vi剪切/复制/粘贴及相关命令
1、选中文本(可视模式)
- esc可以放弃选中,回到命令模式
2、vi 删除/剪切文本
- 如果使用可视模式已选中了一段文本,d和x都可以删除选中文本
- 命令d、x类似图形界面的剪切操作(ctrl + x)
3、vi 复制粘贴
4、vi 复制剪切
- y0-将光标至行首的字符拷入剪贴板
- y$-将光标至行尾的字符拷入剪贴板
- d0-将光标至行首的字符剪切入剪贴板
- d$-将光标至行尾的字符剪切入剪贴板
- range y-块复制
- range d-块剪切
5、vi 撤销和恢复撤销
五、vi查找/替换/分屏命令
1、vi 替换命令
- R可以进入替换模式,替换完成后,按Esc可以返回命令模式
- 替换命令的作用就是不用进入编辑模式,对文件进行轻量级的修改
2、vi 查找命令
- 如果不想看到高亮显示,可以随便查找一个文件中不存在的内容即可
3、vi 查找并替换
- 需要在末行模式下执行:范围s/旧文本/新文本/g
s代表替换
g全部替换(默认换一行中的第1个)
- 举例:
10,20s/hello/HELLO/g 第10行到第20行
.,20s/hello/HELLO/g 当前行到第20行
5,$s/hello/HELLO/g 第5行到最后一行
%s/旧文本/新文本/g 全文替换
- 确认替换
:%s/旧文本/新文本/gc
会出现提示:
y-yes 替换
n-no 不替换
a-all 替换所有
q-quit 退出替换
4、vi 分屏命令
- ctrl h 光标到左边窗口
- ctrl l 光标到右边窗口
- ctrl j 光标到下面窗口
- ctrl k 光标到上面窗口