vim编辑器



            在Linux的学习中,无论是编写脚本还是修改文件内容,我们最经常用的就是vim编辑器.vim编辑器功能十分强大,如今不仅仅只应用在Linux中.今天就来介绍一下vim编辑器的功能

进入和退出vim

    进入:

  在终端输入vim 文件名 ,自动进入vim,,该文件名如果不存在则建立了一个空的名字为 刚才输入的文件,若存在,则继续编辑

    退出:

ESC切换到命令模式下,输入

:q 未保存就退出,系统会提示是否保存

:q! 不保存强制退出

:wq 保存退出

:wq!:x!当文件对当前用户权限为read-only时,可以强制保存并退出(仅限root和当 前文件的owner

 

vim的三种模式:

命令模式(normal)进入vim默认模式:

输入作为编辑命令,内容不会出现在屏幕上,输入错误系统会提示.

之后详细介绍命令模式下的操作

插入模式(insert):

i: insert, 在光标所在处输入

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

       a: append, 在光标所在处后面输入

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

       o: 在当前光标所在行的下方打开一个新行

      O:在当前光标所在行的上方打开一个新行

 

扩展(EX)模式:

 : 为指令,出现在屏幕最后一行,输入都会作为指令

指令内容如上退出命令

ESC两次会返回命令模式

 

命令模式的操作:

             字符跳转:

                        H/J/K/L 分别将光标向 左///右 移动一格

             单词跳转:

                        w 下个单词词首

          e 当前或者下个单词词尾

            页面跳转:

                       H  页首

         M 页中

         L  页底

            行间移动:

                      gg 第一行

        G 最后一行

            行首尾之间

                      ^  行首第一个非空白字符

 0  行首

 $  行尾

             翻屏操作:

                      Ctrl+f 向文件尾部翻一屏

        Ctrl+b 向文件首部翻一屏

        Ctrl+d 向文件尾部翻半屏

       Ctrl+u 向文件首部翻半屏

             字符编辑:

                     ~  转换大小写

       X  删除光标处字符

             替换命令:

                      r  替换光标所在处字符

       R  进入replace 模式

            删除: d

             dd  删除光标所在行

                    d字符跳转,单词跳转,行首尾之间操作结合均和实现相应删除操作

             复制: y

             y  复制光标所在行

             yy  复制行

             y字符跳转,单词跳转,行首尾之间操作结合均和实现相应复制操作

             改变:c

             c  修改之后之间进入insert模式

             cc 删除当前行并输入新的内容

             c字符跳转,单词跳转,行首尾之间操作结合均和实现相应修改操作

             粘贴: p

             p 缓冲区若存的为整行,则粘贴当前光标所在行的下方,否则粘贴在光标后

             P 缓冲区若存的为整行,则粘贴当前光标所在行的上方,否则粘贴在光标前

            撤销操作: u

                  u撤销最近的修改

                  U撤销该行的所有修改

                  . 重复前一个操作

                  n. 重复前 一个操作n次

 

扩展命令

        地址定界:

                :start_pos,end_pos

                . 当前行

               $ 最后一行

               % 全文  %=1,$

 

              :/pat1/,/pat2/ 从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

              .,/pat/

              /pat/,$

              和编辑命令一起使用

             d 删除范围内的内容

             y 复制范围内的内容

             w file 将范围内的行另存至指定文件中

             r file 在指定位置插入指定文件中的所有内容

        查找替换:

               /pattern 从光标处往后找

               ?pattern 从光标处往前找

               s/查找内容/替换内容/修饰符

               修饰符: i 忽略大小写

        g 全局替换

               查找替换的分隔符/可替换为其他字符,@ ,#, ?

               注意:替换内容可以用基本正则表达式

        设置属性:set

              行号:

                    set number    set nu

                    set nonumber    set nonu

            括号成对匹配:

                   set showmatch    set sm

                   set nosm

            自动缩进:

                   set ai

                   set noai

           高亮搜索:

                   set hlsearch

                   set nohlsearch

           语法高亮:

                  syntax on

                 syntax off

           忽略字符大小写:

                 set ic

                 set noic

                             博主这篇博客只是把比较经常用到的功能介绍给大家,还有许多功能需要大家慢慢摸索.

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

(0)
swannswann
上一篇 2017-08-05
下一篇 2017-08-05

相关推荐

  • 数据结构-线性表

    1. 线性表:n个数据元素的有序集合。 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点…

    Linux干货 2015-04-07
  • 磁盘管理(二)之swap、dd工具使用

    磁盘管理(二)之swap、dd工具使用   一、挂载点和/etc/fstab   (1)配置文件/etc/fstab,当系统启动时,自动加载该文件,会把写在配置文件里面的所有挂载点全部自动挂载上去,只要按照格式写,就不会丢失。   (2)文件挂载配置文件,如下图:    &nbs…

    Linux干货 2016-08-29
  • 实验:配额、RAID、LVM

    实验:在centos7实现光盘yum源 1yum install autofs 2现在启动systemctl start autofs 3开机启动systemctl enable autofs 4 cat /etc/yum.repos.d/base.repo[centos7]name=centos7 repobaseurl=file:///misc/cdgp…

    Linux干货 2017-04-25
  • OPENSSL&DNS

      1、详细描述一次加密通讯的过程,结合图示最佳。 Client 从互联网下载CA的公钥,用于验证Server身份 Server 通过加密算法生成一对密钥,将公钥发给CA认证机构,做数字证书 CA 通过自己的私钥加密 Server 公钥并加上自己的数字签名后,将生成的数字证书发给Server Client 与 Server 通TCP的三次握手建立连…

    Linux干货 2016-12-05
  • 2016-11-4作业

    1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项  mkfs.ext4 -b 2048  -L "TEST" -m 1 /dev/sdb6 2、写一个脚本,完成如下功能: (1) 列出当前系统识别到…

    Linux干货 2016-11-06
  • linux 学习之权限优先级

    linux下对同一文件的权限分成很多类,同时也可能对同一文件权限配置多种权限那么在这么多配置中,到底是怎么生效的呢?比如一个文件abc.txt属于wang用户,而同时对abc.txt又设置了ACL禁止 wang用户读写执行等等这些情况就是ACL的生效顺序完全理解,模拟出实验环境一一验证1,文件a属于mage用户,但ACL限制 mage读写执行 Paste_I…

    Linux干货 2017-05-29