[Linux]VI相关操作

About vi

vi编辑器学习

vi编辑器有三种模式:命令模式、输入模式和末行模式。无论在任何模式下按【Esc】都可以返回到命令模式。

1、vi

直接输入vi可以查看vi的版本信息

2、vi [文件名]

若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件。

3、保存与退出

在“末行命令”中输入以下内容并按【Enter】可以执行不同的操作:
:q! 强制退出
:w 保存
:w [文件名] 另存为
:wq 保存并退出
:wq! 保存并强制退出

4、光标移动(命令模式)

在“命令模式”中除了光标可以移动光标之外,还可以使用以下命令
k 上
j 下
h 左
l 右

^ 移动到行首
$ 移动到行尾
[第n行]G 跳转到第n行
G 跳转到首行

5、翻页(命令模式)

Ctrl+F 向前翻一页
Ctrl+B 向后翻一页

Ctrl+U 向前翻半页
Ctrl+D 向后翻半页

6、显示行号(末行模式)

set nu 显示行号
set nonu 取消行号

7、编辑模式(命令模式)

a 附加命令
i 插入命令
o 打开命令
c 修改命令
r 取代命令
s 替换命令
Esc 退出命令

8、光标移动(输入模式)

Home 行首
End 行尾
Page Up 向前翻页
Page Down 向后翻页
Delete 删除光标位置的字符

9、删除操作(命令模式)

x 删除光标位置的字符
dd 删除光标所在行
dw 删除当前字符到单词尾包括空格的所有字符

10、撤消操作(命令模式)

u 取消最近一次操作
U 取消所有操作
Ctrl+R 恢复对u命令的操作

11、复制操作(命令模式)

[n,m]y 复制第n行到第m行
[n]yy 复制n行,若无行数,只复制当前行
[n]yw 复制n个单词,若无行数,只复制光标到单词尾
y$ 复制光标到行尾
y^ 复制光标到行首

12、查找和替换(末行)

/[key] 从光标位置开始查找key

:s/old/new 用new替换首次出现的old
:s/old/new/g 用new替换行中出现的所有old
:[n,m] s/old/new/g 用new替换第n行到第m行中出现的old
: % s/old/new/g 用new替换所有的old
:s/old/new/c 用new替换首次出现的old,用户需要确认。[/c]适用上面所有命令

13、恢复文件

文件在编辑中会产生一个临时文件,文件以.开头并以.swp结尾。在异常退出的时候,系统在下一次编辑的时候会提示命令处理。
O 只读打开
E 继续编辑,不恢复.swp文件
R 恢复文件,继续编辑
Q 退出vi
D 删除.swp文件
vi -i [文件名] 恢复.swp文件

//博客也很久没有更新了。记得上次面试官问我,为什么博客那么久没有更新。或者事情太多,或者人懒。前端时间找工作让我很困惑也很迷茫。甚至忘记了自己原本追求的是什么。终于进了一家一直很想进的公司,但是也不见得有多令人兴奋。难道大四要毕业了,人就变得伤感起来了么?

//近期学习Linux知识比较多,接下来的分享可能也会是关于Linux平台下的技术比较多。我觉得咱做技术的,还是要有写博客的习惯,一是为了提升巩固自己,一是方便自己以后查阅。

作者:Ron Ngai
出处:http://rondsny.github.io
关于作者:断码码农一枚。
欢迎转载,但未经作者同意须在文章页面明显位置给出原文连接
如有问题,可以通过rondsny#gmail.com 联系我,非常感谢。

原文地址:https://www.cnblogs.com/rond/p/3051529.html