第六周作业-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

相关推荐

  • mysql备份还原

    一、前言 数据对于一个公司来说有多重要这点不说大家也知道,数据还在,服务崩溃还可重建。为什么要备份?很简单,天灾人祸。比如硬件故障,软件故障,自然灾害,黑客攻击或自身误操作等因素。这时候备份,恢复数据就显得至关重要了。 二、基础概念 由于备份与恢复需要用到一些必要的知识,故在此先讲解下 2.1二进制日志 myql日志有多种,其中二进制日志文件对数据恢复有很大…

    Linux干货 2015-11-30
  • N26 第一周作业

    一、计算机的组成及其功能 计算机:硬件部分、软件部分硬件部分:CPU:运算器和控制器存储器:存储数据输入设备:输入数据输出设备:输出数据软件部分:Kernel:管理和协调硬件,提供基本功能,为应用软件提供平台Application:为某种特定用途开发的软件二、Linux的发行版 Debian全称Debian GNU/Linux,采用Linux作为内核,由De…

    Linux干货 2017-02-24
  • 是否

    是否

    Linux干货 2016-08-22
  • 编程语言编年史

          我们都知道,编程语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流语言,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是…

    Linux干货 2017-03-30
  • 马哥教育网络班20期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&n…

    系统运维 2016-07-07
  • bash编程尾声

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引     索引:编号从0开始,属于数值索引     注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持。  &nb…

    Linux干货 2016-08-25