转至: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编辑以及脚本编程练习的更多相关文章

  1. vim编辑python脚本时Tab补全

    所属分类:成长之路 使用Linux写python脚本的时候,初期最痛苦的是什么?当然是各种库的不熟悉,知道了库,里面的方法还要挨个看,挨个记. 所以这时候,很多小伙伴使用了ipython,最强大的功能 ...

  2. linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法

    vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...

  3. Vbs 脚本编程简明教程之一

    —为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件 ...

  4. Shell脚本编程学习入门 02

    Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #! ...

  5. 【Shell脚本编程系列】Shell脚本开发的习惯和规范

    1.开头指定脚本解释器 #!/bin/sh或#!/bin/bash 2.开头加版本版权信息 #Date #Author #Mail #Function #Version 提示:可配置vim编辑文件时自 ...

  6. Shell脚本编程与文件系统修复

    导读 Linux基金会发起了LFCS认证(Linux 基金会认证系统管理员)Linux Foundation Certified Sysadmin,这是一个全新的认证体系,旨在让世界各地的人能够参与到 ...

  7. 《Linux命令行与shell脚本编程大全 第3版》

    第一部分 Linux 命令行 第1章  初识Linux she1.1   什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81 ...

  8. SHELL脚本编程基础知识

    SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...

  9. shell脚本编程基础介绍

    Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...

随机推荐

  1. python第三方模块详细教程(紧急情况宝典)

    目录 一:第三方模块 第三方模块:并不是python自带的 需要基于网络下载! 使用下载第三方模块 需要将python pip添加到环境变量 1.验证pip路径添加成功 2.pycharm添加第三方模 ...

  2. python24day

    内容回顾 命名空间 组合 一个类的对象是另一个类对象的属性 两个类之间有 什么有什么二点关系:例:班级有学生 学生和课程.圆形和圆环.班级和课程 计算器 from functools import r ...

  3. C++智能指针使用说明

    导读 STL提供四种智能指针:auto_ptr.unique_ptr.shared_ptr和weak_ptr.其中auto_ptr是C++98提供的解决方案,C++11以后均已摒弃.所有代码在gcc ...

  4. NOI Online 2021 入门组 T1

    Description 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 \(a, b, c\),现在请你帮他们切蛋糕,规则如下 ...

  5. 女朋友让我深夜十二点催她睡觉,我有Python我就不干

    事情是这样的:今天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...

  6. jvm与dvm两种虚拟机的不同

    jvm : java虚拟机 sun dvm:  dalvik虚拟机  google     区别:         1.基于的架构不同,jvm 基于栈架构,栈是位于内存上的一个空间,执行指令操作,需要 ...

  7. Mac 使用自带php和Apache 安装配置Xdebug 开启本地调试模式

    Mac 安装配置php xdebug 本地调试 0.原理图 https://paper.seebug.org/308/ 测试demo构建方法 新建空白项目,目录选择Apache默认项目目录 1.下载x ...

  8. Java线程状态介绍

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11867086.html Java 线程状态介绍: Java官方文档中对Java线程的几种状态做 ...

  9. Dockerfile镜像实例

    Dockerfile镜像实例 目录 Dockerfile镜像实例 一.构建SSH镜像 1. 建立工作目录 2. 生成镜像 3. 启动容器并修改root密码 二.systemctl镜像 1. 建立工作目 ...

  10. hgame-week3-web-wp

    hgame第三周(web ak) 1.SecurityCenter 先看看hint(**vendor是第三方库和插件放置的文件夹,一般来源于composer的安装) 找到了使用的twig模板,应该是t ...