命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
vim中常用命令:
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的 5 行
yy 复制光标所在整行
5yy 复制从光标处开始的 5 行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
末行常用命令::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
?字符串 在文本中从下至上搜索该字符串 /字符串 在文本中从上至下搜索该字符串
编写文档
vim 文件名 进入文件编写
a 进入输入模式
esc 退出输入模式
最后保存就可以了
编写shell脚本
文件后缀是sh
在shell脚本中可以写入任意命令
bash 执行脚本
接收用户参数:$0 代表文件名 $1.....第一个参数。。。$#参数数量 $* 所有参数 $?上一条执行语句的返回值
判断用户参数 测试语句格式:[ 条件表达式 ] 括号和表达式之间有一个空格(前后都有一个)
文件测试所用参数:-d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为一般文件
-r 测试当前用户是否有权限读取 -w 测试当前用户是否有权限写入 -x 测试当前用户是否有权限执行
&&与 ||或 !非
整数比较运算符:
-eq 是否等于 -ne 是否不等于 -gt 是否大于 -lt 是否小于 -le 是否等于或小于 -ge 是否大于或等于
字符串比较运算符:
= 比较字符串内容是否相同 != 比较字符串内容是否不同 -z 判断字符串内容是否为空
流程控制语句
if语句:
if 条件测试操作
then 命令序列
fi
if双分支语句:
if 条件测试操作
then 命令序列1
else 命令序列2
fi
if多分支语句:
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
for循环语句
for 变量名 in 取值列表
do
命令序列
done
while循环语句:
while 条件测试操作
do
命令序列
done
case条件测试语句
case 变量名 in
模式1)
命令序列
;;
*)
默认命令序列
esac