N22第六周作业

VIM编辑器介绍

什么是VIM?

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。

VIM的使用

    1、在插入模式之外

    2、使用 h、j、k、l

    3、在当前行里面有效的移动光标

常用到的一些命令

    fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复上一个 f 命令;

    tx:和上面的命令类似,但是是移动到 x 的左边一个位置;

    Fx:和 fx 类似,不过是往回找。使用 , 来重复上一个F命令;

    Tx:和 tx 类似,不过是往回移动到 x 的右边一个位置;

    b:光标往前移动一个词;

    w:光标往后移动一个词;

    0:移动光标到当前行首(是数字0);

    ^:移动光标到当前行的第一个字母位置;

    $:移动光标到行尾;

    ):移动光标到下一个句子;

    ( :移动光标到上一个句子;

在整个文件里面有效移动光标

    <Ctrl-f>:向下移动一屏;

    <Ctrl-d>:向下移动半屏;

    <Ctrl-b>:向上移动一屏;

    <Ctrl-u>:向上移动半屏;

    G:到文件尾;

    numG:移动光标到指定的行(num);

    gg:到文件首;

    H:移动光标到屏幕上面;

    M:移动光标到屏幕中间;

    L:移动光标到屏幕下面;

    *:读取光标处的字符串,并且移动光标到它再次出现的地方;

    #:和上面的类似,但是是往反方向寻找;

    /text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。使用回车开始搜索命令。如果想重复搜索的话,按 n移动到下个 text 处,N 移动到上一个 text 处 ;

    ?text:和上面类似,但是是反方向;

    m{a-z}:在当前光标的位置标记一个书签,名字为 a-z 的单个字母。书签名只能是小写字母;

    `a:到书签 a 处;

    `.:到你上次编辑文件的地方;

进入插入模式

    i:在当前字符的左边插入;

    I:在当前行首插入;

    a:在当前字符的右边插入;

    A:在当前行尾插入;

    o:在当前行下面插入一个新行;

    O:在当前行上面插入一个新行;

    c{motion}:删除 motion 命令跨过的字符,并且进入插入模式;

        c$,这将会删除从光标位置到行尾的字符并且进入插入模式;

        ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式;

            注意:被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。

    d{motion}:和上面差不多,但是不进入插入模式;

有效的移动大段的文本

    v:按字符选择;

    V:按行选择;

    <C-V>:按块选择;

在可视选择模式下剪切和拷贝

    d:剪贴选择的内容到剪贴板;

    y:拷贝选择的内容到剪贴板;

    c:剪贴选择的内容到剪贴板并且进入插入模式;

    d{motion}:剪切 motion 命令跨过的字符到剪贴板;

    y{motion}:和上面类似,不过是拷贝;

    c{motion}:和 d{motion} 类似,不过最后进入插入模式;

    dd:剪切当前行;

    yy:拷贝当前行;

    cc:剪切当前行并且进入插入模式;

    D:剪切从光标位置到行尾到剪贴板;

    Y:拷贝当前行;

    C:和 D 类似,最后进入插入模式;

    x:剪切当前字符到剪贴板;

    s:和x类似,不过最后进入插入模式;

    p:粘贴;

vim的配置

    设置缩进::set smartindent // 设置缩进; :set smartindent shiftwidth=4 // C语言自动缩进,缩进值为4个字符宽度;

    显示光标行列信息::set ruler // 显示光标信息(右下角);

    查看制表符::set list // 显示制表符,以^符号显示制表符的位置;

    查看行数信息::set number //显示行号(左边);

    关键字高亮::syntax on //关键字高亮;

     多文件编辑:: split two.c // 多文件编辑;

练习题

1.复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中的以至少一个空白字符开头的行的行首加#;

# cp /etc/rc.d/init.d/functions /tmp/
# vim /tmp/functions
:s@^[[:space:]]\+@#@g

2.复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;

# cp /boot/grub/grub.conf /tmp/
# vim /tmp/grub.conf
:%s@^[[:space:]]\+@@g

3.删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符;

# vim /tmp/rc.sysinit
:%s@^#[[:space:]]\+@@g

4.为/tmp/grub.conf文件中前三行的行首加#号;

# vim /tmp/grub.conf
:1,3s@^@#@g

5.将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;

# vim /etc/yum.repos.d/CentOS-Media.repo
:%s@=0@=1@g

6.每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202;

0 */4 * * * /usr/bin/cp -rf /etc /backup/etc-$(date +%Y%m%d) &> /dev/null

7.每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402;

0 0 * * 2,4,6 /usr/bin/cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)

8.每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中;

0 */2 * * * /usr/bin/grep '^S' >> /stats/memory.txt

9.工作日的工作时间内,每两小时执行一次echo "howdy";

0 */2 * * 1-5 /usr/bin/echo "howdy"

10.创建目录/tmp/testdir-当前日期时间;

# mkdir /tmp/testdir-`date +%F`

11.在此目录创建100个空文件:file1-file100;

#!/bin/bash
#
for i in {1..100};do
	touch file$i
done

12.显示/etc/passwd文件中位于第偶数行的用户的用户名;

# sed -n 'n;p' /etc/passwd | cut -d: -f1

13.创建10用户user10-user19;密码同用户名;

#!/bin/bash
#
for i in {10..19};do
    useradd user$i
    echo "user$i" | passwd --stide user$i &> /dev/null
done

14.在/tmp/创建10个空文件file10-file19;

#!/bin/bash
#
for i in {10..19};do
    touch /tmp/file$i
done

15.把file10的属主和属组改为user10,依次类推。

#!/bin/bash
#
for i in {10..19};do
    chown user$i.user$i /tmp/file$i
done

原创文章,作者:N22-无锡-沉默,如若转载,请注明出处:http://www.178linux.com/52391

(0)
N22-无锡-沉默N22-无锡-沉默
上一篇 2016-10-24
下一篇 2016-10-24

相关推荐

  • HAProxy基于Keepalived做高可用并简单实现Web站点的动静分离

    HAProxy简介   HAProxy 是一个免费的,非常快速和可靠的解决方案,提供 高可用性, 负载均衡和代理对TCP和HTTP的应用程序。它特别适用于非常大流量网站。多年来,它已成为标准开源的负载均衡,现在随最主流的Linux发行版,并且通常默认的云平台部署。 实验描述 1、本实验主要是在前端放置两台通过Keepalived做了高可用的HAProxy反向…

    Linux干货 2016-04-16
  • Linux的文本处理工具练习题

    练习一:     1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示  练习二:       1、显示/proc/meminfo文件中以大…

    Linux干货 2016-08-08
  • CentOS环境下,ab性能测试功具介绍及使用

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。 性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。 ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型…

    Linux干货 2017-07-22
  • 第五周

    1、简述rpm与yum命令的常见选项,并举例
    2、自建yum仓库,分别为网络源和本地源
    3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00
    4、简述sed常用操作命令,并举例

    Linux干货 2017-12-30
  • 廉价磁盘阵列(RAID)与逻辑卷(lvm)

    RAID的作用介绍与LVM的创建分析   有计算机基础常识的人们都能了解,现如今生产出来的存储设备比如机械式磁盘,作为个体它的存储容量是有上限的,虽然曾经有人开发出大容量磁盘,但是成本太高,无法在社会中普及应用。对于这种大型服务器系统迫切需要的功能,催生出了一个叫做廉价冗余磁盘阵列的技术,歪果仁将它称为RAID。而后随着岁月的发展,又产生了逻辑卷l…

    Linux干货 2016-09-11
  • LAMP分离环境的搭建(最新版本的mysql+php+http源码编译安装)

    实验者:FrankStar      实验日期:20150628 任务:主要是实现在Linux环境下配置LAMP环境,利用VMware+centos6.4实现,将LAMP分离为多台主机; 附注:由于大家的环境不一样,可能有些人已经安装了这个包或者那个软件,所以调试的环境结果也不一样,为了尽量能模拟到 可能出现的所有问题,在编译会…

    Linux干货 2015-06-30

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 14:44

    博客写得非常的好,32个赞,给出了详细操作步骤,9题还差一个工作时间哦,加油!