第六周作业-Vim总结

                Vim总结

vim功能比较多,这里我不总结vim多窗口,只对基本常用的介绍.

一.模式说明

vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式。

vim一共有4个模式:

  • 正常模式 (Normal-mode) 

  • 插入模式 (Insert-mode)

  • 命令模式 (Command-mode)

  • 可视模式 (Visual-mode)

正常模式

启动vim后默认处于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。

插入模式

在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。

命令模式

在正常模式中,按下:(英文冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。

可视模式

在正常模式中按下v, V, <Ctrl>+v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

二.正常模式下的浏览

          字符间跳转 

               h左 ,j下,L右,k上 

               #COMMAND 如5l 向右跳5格

          单词间跳转

               w: 下一个单词的词首

               b :当前单词或前一个的词首

               e :当前单词或后一个的词首

               #COMMAND 

          行首行尾跳转

               ^:跳转到行首非空白字符

               0:跳转到行首

               $:跳转到绝对行尾

          行间跳转

               #G:跳转至由#指定的行

               gg或1G:跳到第一行

                G:最后一行

          句间跳转:

               )

               (

          段间跳转:

               {

                }

          翻屏:

               ctrl+f向后翻一屏

               ctrl+b 向前翻一屏

               ctrl+d 向后翻半屏

               ctrl+u 向前翻半屏

        查找: /关键字   

            按n, N键上下寻找下一个

三.正常模式下的编辑操作

    字符删除:       

     x:删除光标所在处的字符

       #x:删除光村所在处起始#个字符 

    范围删除:d:可结合光标跳转字符来实现范围删除

           d$:删除光标所在字符至行尾

           d^:删除光标所在字符至行首

        dd: 删除光标所在行

    复制:y,用法相似于d命令

          y^ :复制光标所在字符至行首

          y$: 复制光标所在字符至行尾

       yy:复制一整行

    粘贴:p

    撤消操作:u 

    撤消#次操作: #u


四.可视模式操作:

    按v或V进入,此模式下可前头左右上下选中文件高亮显示,然后还可以实现删除复制粘贴命令d,y,p  

    v:按字符选定

     V:按行选定


五.插入模式操作:

    正常模式下转换此模式

         i : 在光标所在处输入

          I :光标所在行的行首输入

          a:光标所在后方输入

          A:光标所在行的行尾输入

          o:光标下方插入一新行

          O:光标的在上方打开一新行

六.命令模式(按:号进入)

   保存退出文件:

    保存文件:w

    退出文件:!q

    保存退出:wq!

   其它通用命令操作模式 :地址定界命令

       地址定界:

         :start_pos[,end_pos]  

            #: 指定的第#行

            .:当前行

            $:最后一行

            %:全文

            #,#:指定的行范围,左侧为起始行,右侧为结束行

            #,+#:指定行范围,左侧为起始行绝对编号,右侧为相对械侧LQLP移量

           /pattern/:光标处在处起始向尾部第一次给模式匹配到的行。

            /first/,$:从匹配到的行到最后一行

            /pattern1/,/pattern2/:从光标所在处起始,引一次由Pat1匹配到的行开始,至第一次由Pat2匹配到的行结束之间的所有行

       命令有: 删除d, 复制y , 替换s/关键字/替换值/          

           另存为 w /PATH/TO/SOMEFILE 将范围内的文本保存至指定的文件 中

               读取插入 r /PATH /FROM/SOMEFILE: 将指定的文件中文件 读取并插入至指定的位置

        

        示例:

            5,+2d 从第5行开始向后删2行           

            %s/this/This/g 全文替换为This

                1,20s/this/This/g 1到20行替换

                %s#\<t\(.*\)\>#T\1#g 全文替换,把t开头的单词替换T开头。 这里用到了后向引用

                %s#\<t[[:alpha:]]\+\>#&er#g 全文替换把t开头的单词后面都加上er

                1到3行行首添加#  1,3s@^@#@g

                1到3行行尾添加#  1,3s@$@#@g



        

原创文章,作者:mr.sprint,如若转载,请注明出处:http://www.178linux.com/66673

(0)
上一篇 2017-01-16 12:08
下一篇 2017-01-16 13:34

相关推荐

  • 任务计划和本地系统的默认邮件

    一、前言 二、本地mail的使用方法 三、at /batch 四、cron 五、小结   一、前言 linux 中执行任务计划有三种命令:at ,batch ,cron.其中,at,batch 是一次性执行,而crontab,则是周期性执行; 作业执行完成后,会通过邮件通知给作业提交者;因此,以下就从邮件说起。 二、邮件服务 Centos ,默认会…

    Linux干货 2015-05-13
  • 在linux中创建虚拟网卡(网卡别名)的方法

    由于业务需要,要在单个物理网卡上建立多个虚拟网卡,操作如下:cd /etc/sysconfig/network-scripts/   #进入网卡目录cp ifcfg-eth0 ifcfg-eth0:1   # 复制出ifcfg-eth0:1虚拟网卡vim ifcfg-eth0:1    #配置ifcfg-eth0:1虚…

    Linux干货 2016-09-06
  • 软链接和硬链接的区别

    软链接和硬链接的区别 什么是链接: 文件都是文件名和数据组成的,在linux中被分成两部分:数据和元数据。数据是记录文件的真实内容的地方;元数据是记录文件属性的地方:创建者、大小、创建时间等信息。元数据中的inode号这是唯一标识文件身份的属性。在linux中,文件的inode号可以通过ls –i命令查看。在linux中为了解决文件共享使用,引入了两种链接:…

    Linux干货 2016-10-20
  • Linux入门之Centos6 和Centos7的安装

    在安装Centos6 和Centos7 之前,首先VMware需要安装完成,所需镜像CentOS-6.9-x86_64-bin-DVD1和CentOS-7-x86_64-Everything-1611(本次实验所用的版本)准备好,然后开启VMware,进行安装之旅,在安装过程中,Centos6 和Centos7 在前15步的配置是一样的步骤,在16步开启虚拟…

    2017-07-15
  • N25-第9周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # 统计登录用户和非登陆用户的个数 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干货 2017-03-10
  • RPM总结(一)

    软件包基础软件包运行环境硬件、内核、应用程序的关系包管理器程序包管理器Linux不同系统上的包管理器RPM的优点rpm包命名方式一般源代码的命名rpm包的命名rpm包的分类与拆包包管理工具RPM包管理器:程序包管理器:获取程序包的途径:rpm包管理CentOS系统上使用rpm命令管理程序包:安装升级:降级降级实例more 软件包基础 包管理过程中,最常用的操…

    Linux干货 2016-08-24