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

相关推荐

  • keepalive实验

    实验环境centos 7 server x2 做keepalived主备 地址分别是192.168.0.200 192.168.0.201 Centos 7 server x2 做real server 采用DR模型   yum -y install ntp#安装ntp client ntpdate 47.95.253.33#时间同步到自己的ntp…

    2017-12-11
  • 磁盘管理(三)逻辑卷快照

      概述:逻辑卷管理(LVM)提供了为任何逻辑卷作一个快照的功能,目的是在一致的状态下来得到一个文件系统的备份.因为在备份过程中,应用程序可能访问一个分区的文件或者数据库.一些文件可能在一个状态被备份,而后面的文件可能在一个更新后被备份,导致备份的不完整 .传统的解决方法是以只读的方式挂载一个分区,对数据库应用表级锁或者关闭数据库的引擎等;所有的措…

    Linux干货 2016-09-05
  • Linux中设置磁盘配额和RAID

    第一篇:设置磁盘配额 综述     •在内核中执行     •以文件系统为单位启用     •对不同组或者用户的策略不同       根据块或者节点进行限制         •执行软限制(soft limit)   &n…

    Linux干货 2016-09-05
  • 手动创建挂载交换分区

    SWAP分区 SWAP [root@cloud ~]# fdisk /dev/sdb Command (m for help): d Selected partition 1 Command (m for help): w The…

    Linux干货 2016-06-09
  • HTTP协议

    HTTP协议   HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP协议工作于客户端-服务端架构之上。浏览器作为HT…

    Linux干货 2017-02-15
  • N25第一周博客作业

    本文主要阐述了以下几个知识点: l  计算机的组成及功能; l  介绍各不同发行版的linux及其联系; l  描述linux的哲学思想,及其本人对其个人理解; l  介绍一些linux基本命令及相关选项; l  如何在linux上使用帮助命令; l  罗列出发行版linux上的一些基础目录及其功用…

    Linux干货 2016-11-29