Vim编辑器的三个模式
- 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找。
- 输入模式:正常的文本录入。
- 末行模式:保存或者退出文档,以及设置编辑环境。
- 命令模式到输入模式,按 a,i,o等键,按Esc返回。
- 命令模式到末行模式,按照:键,Esc返回。
命令模式命令
- dd 删除(剪切)光标所在行。
- 5dd 删除(剪切)从光标处开始的5行。
- yy 复制光标所在整行。
- 5yy 复制从光标处开始的5行。
- n 显示搜索命令定位到的下一个字符串。
- N 显示搜索命令定位到的上一个字符串。
- u 撤销上一步的操作。
- p 复制粘贴板上的数据。
末行模式命令
- :w 保存
- :q 退出
- :q! 强制退出,不保存。
- :wq! 强制保存退出。
- set nu 显示行号
- set nonu 不显示行号。
- :命令 执行该命令
- :整数 跳转到改行。
- : s /one/two 将光标所在行的第一个one替换成two。
- : s /one/two/g 将光标所在行的所有one替换成two。
- :%s /one/two/g 将全文所有one替换成two。
- ?字符串 全文从下至上搜索该字符串。
- /字符串 全文从上之下搜索该字符串。
shell脚本
- 接收参数:写一个脚本如下,
#!/bin/bash
echo “当前脚本名称为$0”
echo “总共$#个参数,分别是$*”
echo “第一个参数是$1,第3个参数是$3”
执行 bash example.sh one two three four,打印
当前脚本名称为example.sh
总共4个参数,分别是one two three four
第一个参数是one,第3个参数是three
判断用户参数
- 逻辑测试语句: && || ! 分别代表 与、或、非
- 文件测试语句
-d 是否为目录
-e 是否存在
-f 是否为一般文件
-r 当前用户是否有读权限
-w 是否有些权限
-x 是否有执行权限 - 整数比较预算符
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 小于等于
-ge 大于等于 - 字符串运算符
= 是否相等
!= 不相等
-z 是否是空值
流程控制语句
- 单分支if
if 条件测试语句
then 命令
fi
- 双分支if
if
then
else
fi
- 多分支if
if
then 命令序列
elif
then 命令序列
else
else的命令序列。
fi
- for循环
for 变量名 in 取值列表
do
命令序列
done
- while循环
while 条件测试
do
命令序列
done
- case
case 变量 in
模式1)
命令序列
模式2)
命令序列
*)
默认命令
esac
最后一行代表case逻辑代码闭环/结束