多文件模式:
vim FILE1 FILE2 FILE3...
:next下一个
:prev前一个
:first第一个
:last最后一个
:wall保存所有
:qall退出所有
窗口分隔模式:
vim -o|-O FILE1 FILE2...
-o:水平分割
-O:垂直分割
在窗口间切换:Ctrl+w然后Arrow(箭头:键盘上的->标志)
单文件窗口分割:
Ctrl+w,s:split 水平分割
Ctrl+w,v:vertical 垂直分割
定制vim的工作特性:
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
末行:当前vim进程有效
(1)行号
显示:set number,简写为:set nu
取消显示:set nonumber,简写为:set nonu
(2)括号匹配(编程中左右括号自动匹配用)
匹配:set showmatch,简写为:set sm
取消匹配:set noshowmatch,简写为:set nosm
(3)自动缩进
启用:set ai
禁用:set noai
(4)高亮搜索
启用:set hlsearch
禁用:set nohlsearch
(5)语法高亮
启用:Syntax on
禁用:Syntax off
(6)忽略字符大小写
启用:set ic
禁用:set noic
获取帮助
:help
:help subject
问题:如何设置tab缩进为4个字符
练习:
1.复制/etc/rc.d/init.d/functions文件至/tmp目录中:替换/tmp/functions文件中的/etc/sysconfig/init为/var/log
2.删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号
#hello
# hello(把这个#后有空格的#字符删除)
bash条件测试:
测试方式:
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]
测试表达式的类别:
数值比较
字符串测试
文件测试
文件测试
存在性测试:
-a FILE(同-e,很少用)
-e FILE:文件存在性测试,存在为真,不存在为假
存在性及类别测试:
-b FILE:是否存在且为块设备文件
-c FILE:是否存在且为字符设备文件
-d FILE:是否存在且为目录文件
-f FILE:是否存在且为普通文件
-p FILE:是否存在且为命名管道文件
文件权限测试:
-r FILE:是否存在且可读
-w FILE:是否存在且可写
-x FILE:是否存在且可执行
文件特殊权限测试:
-g FILE:是否存在且拥有sgid权限
-u FILE:是否存在且拥有suid权限
-k FILE:是否存在且拥有sticky权限
文件大小测试:
-s FILE:是否存在且非空
文件是否打开:
-t fd:fd表示文件描述符是否已经打开且与某终端相关
双目测试:
FILE1 -ef FILE2:FILE1与FILE2是否指向同一个设备上的相同inode
FILE1 -nt FILE2:FILE1是否新于FILE2
FILE1 -ot FILE2:FILE1是否旧于FILE2
组合测试条件:
逻辑运算:
第一种方式:
COMMAND1 && COMMAND2
COMMAND1 || COMMAND2
! COMMAND
例如:[ -e FILE ] && [ -r FILE ] 文件存在且可读
Note:在做文件测试时一定要注意是root还是普通用户,如果是root权限判断会有问题
第二种方式:
EXPRESSION1 -aEXPRESSION2
EXPRESSION1 -o EXPRESSION2
EXPRESSION
必须使用测试命令进行
#[ -z $hostName -o $hostName == bogon ] && hostname test
# [ -f /bin/cat -a -x /bin/cat ] && cat /etc/fstab