多文件模式:

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: 是否存在且为普通文件

-h FILE或 -L FILE:是否存在且为符号链接文件

-p FILE:是否存在且为命名管道文件

-S FILE:是否存在且为套接字文件

文件权限测试:

-r FILE:是否存在且可读

-w FILE:是否存在且可写

-x FILE:是否存在且可执行

文件特殊权限测试:

-g FILE:是否存在且拥有sgid权限

-u FILE:是否存在且拥有suid权限

-k FILE:是否存在且拥有sticky权限

文件大小测试:

-s FILE:是否存在且非空

文件是否打开:

-t fd:fd表示文件描述符是否已经打开且与某终端相关

-N FILE:文件自动上一次被读取之后被修改过

-O FILE:当前有效用户是否为文件属主

-G FILE:当前有效用户是否为文件属组

双目测试:

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 -a EXPRESSION2

EXPRESSION1 -o EXPRESSION2

EXPRESSION

必须使用测试命令进行

# [ -z $hostName -o $hostName == bogon ] && hostname test

# [ -f /bin/cat -a -x /bin/cat ] && cat /etc/fstab

转载于:https://blog.51cto.com/sanyuan/1977574

3.0-vim编辑器和bash条件测试相关推荐

  1. vim编辑器与bash解释器(shell)

    vim编辑器 在 LInux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在的,因此利用简单的文字编辑软件就可以修改配置了 基本上 vi 共分为三种模式:一般指令模式.编辑模式.指令 ...

  2. bash脚本编程之条件判断、条件测试

    脚本编程: 编程面向过程有如下几种执行方式 顺序执行 选择执行:  如 if, case 循环执行:  如 for, while, until bash的变量类型: 本地变量 set VAR_NAME ...

  3. vim 编辑器 bash文件测试

    1.编辑x:删除光标所在处字符#x:删除光标所在处开始往后的#个字符d:删除命令dd:删除光标所在处一整行#d:删除光标所在处往后的#行2.末行模式start,end eg: 3,4 10,+9.:表 ...

  4. Vim编辑器和Shell脚本命令,条件和逻辑测试语句

    Vim编辑器 Vim编辑器用于编辑文本文件内容,是vi编辑器的升级版,与Vi相比,Vim编辑器有代码着色. 着色功能:用于排错,避免错误参数的产生 vim编辑器的3种模式: 1.>命令模式:控制 ...

  5. bashsupport插件_如何用 bash-support 插件将 Vim 编辑器打造成编写 Bash 脚本的 IDE

    IDE(集成开发环境)就是这样一个软件,它为了最大化程序员生产效率,提供了很多编程所需的设施和组件. IDE 将所有开发工作集中到一个程序中,使得程序员可以编写.修改.编译.部署以及调试程序. 在这篇 ...

  6. 卷毛崽|Linux自学|Vim 编辑器与 Shell 命令脚本

    Vim编辑器与 Shell 命令脚本 1.Vim 文本编辑器: (1) vim常见命令 (2) vim 更改主机名(RHCSA考题) (3)vim 配置网卡ip(RHCSA考题) (4) vim配置y ...

  7. 【Linux系统管理】05 常用命令 06 vim编辑器

    一.命令的基本格式 1.1 命令的提示符 [root@localhost ~]# []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,现在使用的是root用户登录. @:分隔 ...

  8. Vim编辑器与shell脚本(.sh)

    vim.vi编辑器 三个模式 命令模式 输入模式 行末模式 命令模式下可以通过dd,yy,/s/*/*等来进行删除,复制,替换,剪切等操作 输入模式:a,i,o , a,i的使用方法相仿,前者在光标当 ...

  9. vim for mysql_一、Vim编辑器 二、用户和组管理 三、软件的安装(jdk,mysql) 四、Shell编程...

    一.Vim编辑器的使用 1. vim编辑器的运行模式 编辑模式:等待用户编辑命令的输入 插入模式:编辑文本内容 命令模式:执行命令 2. 使用 :vim 文件名 3. 查看当前vim编辑器介绍:vim ...

最新文章

  1. GDCM:拷贝/复制DataSet的测试程序
  2. Java Jsoup库 实现天气爬取(附第三方库加载方式)
  3. #淘宝#复制分享宝贝内容,打开淘宝APP,自己主动弹出宝贝提示信息
  4. wireshark数据包分析实战 第三、四章
  5. STL之accumulate
  6. piggy back是什么意思?
  7. Vue 中的计算属性,方法,监听器
  8. Web前端实战:管理系统网页的初步设计
  9. mysql 口令_怎么样为用户设定口令(MYSQL)_MySQL
  10. 东方联盟郭盛华发家史:8年来实现跨越式发展
  11. 照片识别年龄 php,用OpenCV和深度学习进行年龄识别
  12. 读书笔记:吉檀迦利:致我们无处安放的心灵
  13. 2007年大学生电子设计大赛国赛电源类题目设计报告
  14. Pytorch学习之torch----Reduction Ops
  15. 2018以太坊技术及应用大会圆满成功,V神等24位大咖观点集锦
  16. html怎么垂直对其,html – 垂直对齐方法
  17. 基于Segment anything的实例分割半自动标注
  18. 【Linux】Ubuntu 18.04网易云音乐安装后无法打开问题解决
  19. python中isdigit函数什么意思_python判断字符串,str函数isdigit、isdecimal、isnumeric的区别...
  20. javaScript Popup.js

热门文章

  1. 搜狗Q1每天进账1886万,输入法日处理6亿请求成中国最大语音App
  2. 买不起房怕什么,本田说自动驾驶房车才是未来趋势
  3. 谷歌推出开源工具DeepVariant,用深度学习识别基因变异
  4. Oracle数据库学习(四):学习中的遇到的问题
  5. 三大角度 PK ,Go 语言和 Node.js 谁胜谁负?
  6. 解决 npm 无法安装 devDependencies 下的依赖包的问题
  7. Linux负载均衡软件LVS(概念篇)
  8. enum类型的标签内容根据语言的取法
  9. jquery各类资源整理
  10. TSqlConnection