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 16:11
下一篇 2017-08-05 16:43

相关推荐

  • 源码包编译安装mariaDB

    前言     MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,并且之前是完全开源,所以大受欢迎。但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少。所以M…

    Linux干货 2016-02-28
  • linux入门基础知识及简单命令介绍

    1、计算机硬件组成介绍 计算机主要由cpu(运算器、控制器),内存,I/O,外部存储等构成。     cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作。不能从硬盘中直接取数据。     内存从外部存储中取出数据供cpu运存。内存的最小单位是字节…

    Linux干货 2017-08-28
  • 马哥教育网络班21期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -a /etc/skel /home/tuser1 # chmod -R g-rwx,o-rwx /home/tuser1/ 2、编辑…

    Linux干货 2016-07-16
  • CA,DNS,LAMP实现wordpress

    拓扑图见编译实现LAMP,bind,CA.jpg test3配置:     yum -y install bind     修改named.conf配置文件:     //      listen-on por…

    2017-04-23
  • N26-博客作业-week4

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1~]# chmod -R 700 /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 ~]# echo “hadoop…

    Linux干货 2017-02-26
  • 马哥教育网络班22期+第六周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; ]# cp -v  /etc/rc.d/rc.sysinit /tmp/    `/etc/rc.d/rc.sysinit' -> `/tmp/rc.sysinit&…

    Linux干货 2016-10-17