第六周作业-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)
mr.sprintmr.sprint
上一篇 2017-01-16
下一篇 2017-01-16

相关推荐

  • 设计模式 ( 十三 ) 命令模式Command(对象行为型)

    1.概述         在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。  例子1:电视机遥控器…

    Linux干货 2015-07-16
  • liunx文本处理三剑客及文本处理工具的使用与练习。

    linux文本处理三剑客: grep ==擅长过滤,把想要的或者不想要的分离开。linux三剑客 老三  -A: 除了显示匹配的一行之外,并显示该行之前的num行;-B:除了显示匹配的一行之外,并显示该行之后的num行;-C:除了显示匹配的一行之外,并显示该行之前后各num行     sed==擅长取行、替换。三剑客老…

    2017-07-28
  • 第11天:网络基础,属性配置

    http://note.youdao.com/noteshare?id=bf6e776e7271953bffe1bdf949df4e8f

    Linux干货 2016-09-06
  • 初至马哥教育

    linux面授班30期

    2018-03-26
  • mysql.主从复制.读写分离.高可用.集群实战

    架构图如下: 1.按照架构图所示,准备机器,做好时间同步,主机名解析 192.168.42.150 node1 [proxySQL keepalived]192.168.42.151 node2 [proxySQL keepalived]192.168.42.152 node3 [mysql-master wha]192.168.42.153 node4 […

    Linux干货 2017-07-14
  • 从零开始搭建双主模型的nginx proxy高可用集群

    实验简介 本文主要介绍双主模型的nginx proxy高可用集群的搭建方式。实验环境: 使用nfs/ftp服务器,nfs提供页面数据共享,ftp提供程序下载 使用单独的mariadb服务器提供关系型数据库 使用两台httpd服务器提供页面服务,包括静态的html和动态的php(phpmyadmin、wordpress、phpinfo) 使用两台nginx作为…

    Linux干货 2017-06-25