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

相关推荐

  • 萝卜运维记–第一周

    part1— ①描述计算机的组成及功能 ▲计算机是什么? 计算机(ENIAC):简述—-接收用户的指令,经过中央处理器处理过后,产生对使用者有用的信息。具有存储记忆,处理复杂数据运算的计算机器 Ⅰ 计算机组成及功能 ☆硬件部分: 1.中央处理器CPU(Central Processing Unit)↓↓↓↓:  &n…

    Linux干货 2016-12-06
  • keepalived+nginx

    keepalived可以认为是VRRP协议在Linux上的实现,主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。本文基于如下的拓扑图: 配置keepalived+nginx的方…

    Linux干货 2016-11-04
  • Linux发展史

    Linux 操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。下文简要介绍了Linux发展史。 1969年,美国贝尔实验室的Ken.Thompson和D…

    Linux干货 2016-10-17
  • read,locate ,find 的总结及相关联系

    read 变量名 read 变量名1 [变量名2] < 文件名不支持管道read 变量名1 [变量名2] <<< “值1 [值2] …”使用read来把输入值分配给一个或者多个shell变量     -p 指定要显示的提示     # read -p…

    Linux干货 2017-08-12
  • nginx

    1.Nginx的程序架构:        master/worker            一个master进程:     &nb…

    2017-06-19
  • BIND的编译安装\DNS的搭建及测试

    编译安装bind          1、下载bind: isc.org: bind-9.10 bind-9.11 bind-10          2、 #tar xvf bind-9.10.5.tar.gz       &nbs…

    2017-07-31