第六周作业-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 12:08
下一篇 2017-01-16 13:34

相关推荐

  • 高级文件文件系统管理之btrfs系统

    一.概述 btrfs文件系统:     技术预览版     btrfs (B-tree,Butter FS,Better FS),GPL,Oracle,2007,CoW     ext3/ext4,xfs 核心特性:  &nbsp…

    Linux干货 2016-09-11
  • 实现NFS为lamp环境web站点提供共享存储

    1.实验需求 (1)nfs server导出/data/application/web,在目录中提供wordpress; (2)nfs client挂载nfs server导出的文件系统,至/var/www/html; (3)客户端1(lamp)部署wordpress,并让其正常访问,要确保正常发文章,上传图片。 (4)客户端2(lamp),挂载nfs se…

    Linux干货 2017-05-02
  • ☞rsyslog

    rsyslog 概述 rsyslog支持的facility与priority facility:设施、信道: priority:级别 rsyslog程序 配置文件 配置日志记录级别和路径 配置日志记录在远程rsyslog server rsyslog server端 rsyslog client端 测试远程服务器是否记录日志 rsyslog记录在MySQL中…

    Linux干货 2016-10-16
  • linux文件目录详解

    linux目录结构   (且看且不看) 历史上 /usr和 /etc文件夹下既保存静态文件,也保存可变文件,后来有了/var层次结构,/usr下面的可变文件被转移到/var下面。因而/usr现在可以只读的方式挂载(如果它在单独的文件系统上)。 /etc下的可变文件早已转移到/var,因为技术上允许/ 根是系统内核启动后挂载的第一个分区,挂载到根上的…

    Linux干货 2017-05-31
  • ansible初识

    主要组成部分,相关配置文件

    2018-01-21
  • 负载调度器:调度算法

    调度算法(ipvs scheduler) 起点公平:平均分配,不管分别干的怎么样。 结果公平:谁现在还剩下的在处理的少,就分配给谁。      根据其调度时是否考虑各RS当前的负载状态,可分为静态方法和动态方法两种: 静态方法 静态方法:仅根据算法本身进行调度; RR      …

    2016-10-28