大数据学习之Linux——04vi语法
欢迎关注我的CSDN: https://blog.csdn.net/bingque6535
一、文档打开及关闭
1、打开文件:
vi filename :打开文件
vi +# filename :打开文件,并且光标定位到#行
vi + filename :打开文件,并且光标定位至最后一行
vi +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
2、关闭文件
关闭文件前需要先进入末行模式(Esc)
:q 退出 没有动过文件
:wq 保存并退出 动过了,不后悔 –
:q! 不保存并退出 动过了,后悔了
:w 保存
:w! 强行保存
:x == :wq == ZZ
ZZ: 保存并退出 不需要冒号,编辑模式
二、全屏编辑器
1. 模式分类:
编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
输入模式:按键本身意义
末行模式:接受用户命令输入
2. 模式间的转换:
- 编辑模式 ----> 输入模式
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
- 输入模式 ----> 编辑模式:
ESC
- 编辑模式 ----> 末行模式:
:
- 末行模式 ----> 编辑模式:
ESC, ESC
3. 编辑模式:
- 按字符移动
h: 左;j: 下;k: 上;l: 右
- 按单词移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
- 行内移动
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
- 行间移动
G:文章末尾
3G:第3行
gg:文章开头
- 翻屏
ctrl:f,b
- 替换
r:替换光标位置字符
- 删除
x:删除光标位置字符
3x:删除光标开始3个字符
dw:删除当前单词
2dw:删除2个单词
dd:删除当前行
2dd:删除2行
- 复制粘贴&剪切
yw:复制1个单词
2yw:复制2个单词
yy:复制1行
2yy:复制2行
p:粘贴在当前光标的前面
P:粘贴在当前光标的后面
dd:也有剪切的的功能
- 撤销&重做
u:撤销
ctrl+r :重做 撤销的操作
. : 重复上一步的操作
4. 末行模式:
- set:设置
set nu:显示行号
set nonu:隐藏行号
set readonly
- 查找
/:向下查找
/after:向下查找,光标落在搜索到的内容的第一个字符
:/after:向下查找,光标落在搜索到的内容所在行的第一个字符。
?:向上查找
?after:向上查找after
按n跳转到下一个查找到的内容
- !:执行命令
:!ls -l /
- s:查找并替换
s/str1/str2/:替换当前行第一个str1为str2
s/str1/str2/:替换当前行第一个str1为str2【忽略大小写】
s/str1/str2/g:替换当前行所有的str2为str2
s/str1/str2/gi:替换当前行所有的str2为str2【忽略大小写】 • /:临近s命令的第一个字符为边界字符:/,@,#
- 范围
n :行号
. :当前光标行
+n:偏移n行
.,+4d:删除光标所在行及之后的4行的内容
d:删除光标所在行及之后的内容
$-3:倒数3行
%:全文
欢迎关注我的CSDN: https://blog.csdn.net/bingque6535