vim编辑以及脚本编程练习
转至:http://www.178linux.com/88128
vim编辑器的使用总结:
vim在工作过程当中有三种模式:编辑模式、输入模式、末行模式。
1、编辑模式:即命令模式,键盘操作常被理解为编辑命令;
2、输入模式:在文本文件当中进行输入内容;
3、末行模式:vim内置的命令行接口,执行vim的内置命令。
vim的使用
打开文件
#vim[option]…[FILE]
+#:打开文件后,直接让光标处于第#行的行首;
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN锁匹配到的行的行首。
模式转换
1、ESC键:可以从输入模式转换到编辑模式
2、从编辑模式à输入模式
常用的有o:在光标所在行的下方新建一个空行病转换为输入模式
a:在光标所在的后方转换为输入模式
3、编辑模式à末行模式:直接输入冒号(:)即可在窗口的左下方显示冒号
4、末行模式à编辑模式敲击ESC键
5、输入à编辑à末行:输入模式不能直接转换到末行模式
退出文件
需要先切换到编辑模式之后才能退出,在切换到编辑模式后键入一下命令即可进行相关的操作:
:q退出
:q!不保存退出
:wq保存退出
:x保存退出
:wq!强制保存退出
:w /PATH/TO/SOMEWHERE
编辑模式保存退出的快捷键ZZ
vim的编辑命令
x:删除光标所在处的字符
dd:删除光标所在行
p:paste,粘贴
y:yank,复制
Y:yy复制行
c:修改
撤销编辑:
u:撤销此前的操作
#u:撤销最近的#次操作
撤销此前的撤销操作
Ctrl+r
vim中的末行模式
1、内容定界
#:第#行
#,#:从左侧第#行到右侧第#行结尾
.:当前行
$:最后一行
%:全文,相当于1,$
2、查找
/PATHERN:从当前光标所在处向文件尾部查找
? PATHERN:从当前光标所在处向文件首部查找
窗口属性定义
:set nu 显示行号
:set nonu取消显示行号
:set ai启用自动缩进功能
:set noai取消自动缩进功能
本周练习:
1,复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#。
%s@^([[:space:]]+)@#\1@
2,复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中行首的空白字符。
%s@^[[:space:]]+@@g
3,删除/tmp/rc.sysinit文件中以#开头,且后面跟了至少一个空白字符的行行的#和空白字符。
%s@^#[[:space:]]+@@g
4,为/tmp/grub.conf文件中前三行的行首加#号。
1,3s@^@#@g
5,将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1。
%s@(enabled\|gpgcheck)=0@\1=1@g
6,每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202。
# crontab –e
0 */4 * * * root cp -r /etc/ /backup/etc-$(date +%Y%m%d%H%M)
7,每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402。
# crontab –e
0 * * * Tue,Tur,Sat root cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)
8,每天每两个小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中。
# crontab –e
0 */2 * * * root grep “^S” /proc/meminfo >> /stats/memory.txt
9,工作日的工作时间内,没两小时执行一次echo “howdy”。
# crontab –e
0 9-18/2 * * 1-5 root echo “howdy”
10,创建目录/tmp/testdir-当前日期时间。
#!/bin/bash
mkdir /tmp/testdir-$(date +%Y%m%d%H%M%S)
# bash -x mkdir2.sh
++ date +%Y%m%d%H%M%S
+ mkdir /tmp/testdir-20170902155548
11,在此目录中创建100个空文件:file1-file100。
#!/bin/bash
for num in `seq 1 100`; do
touch /tmp/testdir-20170902155548/file$num
done
12,显示/etc/passwd文件中位于第偶数行的用户的用户名。
#!/bin/bash
vim编辑以及脚本编程练习的更多相关文章
- vim编辑python脚本时Tab补全
所属分类:成长之路 使用Linux写python脚本的时候,初期最痛苦的是什么?当然是各种库的不熟悉,知道了库,里面的方法还要挨个看,挨个记. 所以这时候,很多小伙伴使用了ipython,最强大的功能 ...
- linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法
vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...
- Vbs 脚本编程简明教程之一
—为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...
- Shell脚本编程学习入门 02
Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #! ...
- 【Shell脚本编程系列】Shell脚本开发的习惯和规范
1.开头指定脚本解释器 #!/bin/sh或#!/bin/bash 2.开头加版本版权信息 #Date #Author #Mail #Function #Version 提示:可配置vim编辑文件时自 ...
- Shell脚本编程与文件系统修复
导读 Linux基金会发起了LFCS认证(Linux 基金会认证系统管理员)Linux Foundation Certified Sysadmin,这是一个全新的认证体系,旨在让世界各地的人能够参与到 ...
- 《Linux命令行与shell脚本编程大全 第3版》
第一部分 Linux 命令行 第1章 初识Linux she1.1 什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81 ...
- SHELL脚本编程基础知识
SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
随机推荐
- python第三方模块详细教程(紧急情况宝典)
目录 一:第三方模块 第三方模块:并不是python自带的 需要基于网络下载! 使用下载第三方模块 需要将python pip添加到环境变量 1.验证pip路径添加成功 2.pycharm添加第三方模 ...
- python24day
内容回顾 命名空间 组合 一个类的对象是另一个类对象的属性 两个类之间有 什么有什么二点关系:例:班级有学生 学生和课程.圆形和圆环.班级和课程 计算器 from functools import r ...
- C++智能指针使用说明
导读 STL提供四种智能指针:auto_ptr.unique_ptr.shared_ptr和weak_ptr.其中auto_ptr是C++98提供的解决方案,C++11以后均已摒弃.所有代码在gcc ...
- NOI Online 2021 入门组 T1
Description 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 \(a, b, c\),现在请你帮他们切蛋糕,规则如下 ...
- 女朋友让我深夜十二点催她睡觉,我有Python我就不干
事情是这样的:今天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...
- jvm与dvm两种虚拟机的不同
jvm : java虚拟机 sun dvm: dalvik虚拟机 google 区别: 1.基于的架构不同,jvm 基于栈架构,栈是位于内存上的一个空间,执行指令操作,需要 ...
- Mac 使用自带php和Apache 安装配置Xdebug 开启本地调试模式
Mac 安装配置php xdebug 本地调试 0.原理图 https://paper.seebug.org/308/ 测试demo构建方法 新建空白项目,目录选择Apache默认项目目录 1.下载x ...
- Java线程状态介绍
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11867086.html Java 线程状态介绍: Java官方文档中对Java线程的几种状态做 ...
- Dockerfile镜像实例
Dockerfile镜像实例 目录 Dockerfile镜像实例 一.构建SSH镜像 1. 建立工作目录 2. 生成镜像 3. 启动容器并修改root密码 二.systemctl镜像 1. 建立工作目 ...
- hgame-week3-web-wp
hgame第三周(web ak) 1.SecurityCenter 先看看hint(**vendor是第三方库和插件放置的文件夹,一般来源于composer的安装) 找到了使用的twig模板,应该是t ...