vim编辑器

 

Linux文本编辑器vim

    Linux下的编辑器最常用的就是vim或者vi文本编辑。vi和vim编辑器的区别是vim是vi的改进版本,在vi编辑器的基础上上扩展了很多实用的功能。

vim的使用

用vim打开文件:
    vim [options] [file ..]
        +#:打开文件之后,直接让光标处于第#的行首
        +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首

vim的工作模式及模式转换

vim在工作过程中有三种模式:
    1、编辑模式:也叫命令模式(进入编辑器后的默认模式),键盘操作常被理解为编辑命令。
    2、输入模式:在文本文件当中进行输入内容。
    3、末行模式:vim内置的命令行接口,可以执行vim的内置命令。

模式转换:
    1、从编辑模式转换为输入模式可以使用如下命令:
        i:insert,在光标所在处输入
        a:append,在光标所在处后方输入
        o:在光标所在处下方打开一个新行
        I:在光标所在行的行首输入
        A:在光标所在行的行尾输入
        O:在光标所在处上方打开一个新行

    2、从输入模式转换为编辑模式:按ESC键

    3、从编辑模式转换为末行模式:敲 ":" 即冒号

    4、从末行模式转换为编辑模式:按ESC键

        注:转换顺序, 输入-->编辑-->末行; 输入模式不能直接转换到末行模式

关闭文件

    需要切换到编辑模式后才能退出,在切换为编辑模式后键入以下命令即可进行相关操作:
        :q 退出
        :q! 强制退出,不保存此前的编辑操作
        :wq 保存并退出
        :x 保存并退出
        :w /PATH/TO/SOMEFILE 另存为其它路径

            注:编辑模式保存退出的快捷键:ZZ

光标跳转

    字符间跳转:
        h:左 
        l:右
        j:下 
        k:上
        #COMMAND:跳转由#指定的个数的字符

    单词间跳转:
        w:下一个单词的词首
        b:当前或前一个单词的词首
        e:当前或后一个单词的词尾
        #COMMAND:跳转由#指定的个数的单词

    行首行尾跳转:

        ^:跳转至行首的第一个非空白字符
        0(零):跳转至行首
        $:跳转至行尾

    行间跳转:
        #G:跳转至由#指定的行
        1G,gg:跳转至第一行
        G:最后一行

    句间跳转:
        ):跳到下一句
        (:跳到前一段

    段间跳转:
        }:下一段
        {:前一段

    翻屏:
        Ctrl+f:向文件尾部翻一屏
        Ctrl+b:想文件首部翻一屏
        Ctrl+d:向文件尾部翻半屏
        Ctrl+u:想文件首部翻半屏
        Eeter:按行向后翻

vim的编辑命令:

    字符编辑:
        x:删除光标所在处的字符
        #x:删除光标所在处起始的#个字符
        xp:交换光标所在处的字符与其后面的字符的位置

    替换命令:
        r:替换光标所在处的字符

    删除命令:
        d:删除命令,可结合光标跳转字符,实现范围删除
        dd:删除光标所在处的行
        #dd:删除光标所在处的行起始的共#行

    粘贴命令:
        p:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的下方;否则粘贴在当前光标所在处的后方
        P:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则粘贴在当前光标所在处的前方

    复制命令:
        y:复制,工作行为相似与d命令
        yy:复制一整行
        #y:复制从当前行向下#行内容

    改变命令(change,c)
        编辑模式-->输入模式,实现删除操作
                cc:删除光标所在的行,并转换为输出模式

    可视化模式:    
        v:按字符选定
        V:按行选定
            通常结合编辑命令; d、c、y使用

    撤销操作:
        u:撤销此前的操作;
        #u:撤销此前的#个操作

    撤销此前的撤销:
        Ctrl+r

    重复执行前一个编辑操作:
        .(按点号)

vim末行模式:内建命令行接口

    1、地址定界
        :start_pos[,end_pos]
        #:特定的第#行,例如5即第5行
        .:当前行
        $:最后一行
        %:全文
        #,#:指定行范围,左侧为起始行,右侧为结束行
        #,+#:指定行范围,左侧为起始行绝对编号,右侧为相对左侧行号的偏移量,例如3,+7
        /pattern/:从光标所在处起始向文件尾部第一个被模式多所匹配到的行
        /pat1/,/pat2/:从光标所在处起始,第一次有pat1匹配到的行开始,至第一次由pat2匹配到的行结束之间所有行

        可同编辑命令一同使用,实现编辑操作

            w /PATH/TO/SOMEFILE:将范围内的文本保存至指定的文件中
            r /PATH/FROME/SOMEFILE:将指定的文件中的文本读取并插入至指定位置

    2、查找
        /PATTERN:从当前光标所在处想文件尾部查找能够被当前模式匹配到的所有字符串
        ?PATTERN:从当前光标所在处想文件首部查找能够被当前模式匹配到的所有字符串


    3、查找并替换
        s:末行模式的命令,使用格式
            s/要查找的内容/替换为的内容/修饰符
                  要查找的内容:可使用正则表达式
                  替换为的内容:不能使用正则表达式,但可以引用
                注:如果“要查找的内容”部分在模式中使用分组符号;在“替换为的内容”中使用后向引用,直接引用查找模式匹配到的全部文本,要使用&符号;

                  修饰符:
                  i:忽略大小写
                  g:全局替换,意味着一行中如果匹配到多次,则均替换

            可把分隔符(/)替换为其它非常用字符:
                s@@@
                s###

vim的多文件功能:即一次打开多个文件

    用vim打开多个文件:
        vim FILE1 FILE2 ...
    在文件中切换:
        :next   切换到下一个文件
        :prev   切换到上一个文件
        :first  切换到第一个文件
        :last   切换到最后一个文件
    退出所有文件:
        :wqall   保存所有文件并退出
        :wall    保存所有文件
        :qall    退出所有文件

vim的多窗口模式

    vim可以打开多个文件,亦可多个文件同时显示:
        vim  [-o|-O] FILE1 FILE2 ...

    选项:
        -o:水平分割窗口
        -O:垂直分割窗口
        在窗口间切换 ctrl+w+上下左右键

        注:单个文件也可以分割为多个窗口进行查看
            ctrl+w,s:水平分割窗口
            ctrl+w,v:垂直分割窗口

定制vim的工作特性

    需要在末行模式下设定,但仅对当前vim有效,如需永久有效则需如下设置:
        全局: /etc/vimrc
        用户个人:~/.vimsc

    窗口属性定义:
        1、行号
            显示:set number,简写为 set nu
            取消显示:set nonumber 简写为 set nonu
        2、括号匹配高亮
            匹配:set showmatch,set sm    
            取消:set nosm
        3、自动缩进
            启动:set ai
            取消:set noai
        4、高亮搜索
            启用:ste hlsearch
            取消:ste nohlsearch
        5、语法高亮
            启用:syntax on        
            取消:syntax off
        6、忽略字符大小写
            启用:set ic
            取消:set noic

 

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

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-12-04
下一篇 2016-12-04

相关推荐

  • 复习-RAID原理详解

    一、RAID RAID:冗余磁盘阵列,将多个磁盘不同的方式组成阵列,作为单一磁盘使用;通过RAID,大幅提高了I/O能力、容错性。 二、RAID级别 不同的磁盘阵列组成模式,称为磁盘级别,不同的RAID级别可提供不同的I/O能力提升、磁盘可用率和容错性 1、RAID 0 条带卷 strip  用两块和两块以上磁盘组成,RAID控制器将数据平均切割成…

    Linux干货 2016-07-04
  • 马哥教育-第一周作业

    第一部分:计算机组成及功能 电子真空管的出现促使了计算机的诞生; 根据冯●诺依曼的哲学思想,计算机的组成分为五大部分。分别为: 1.     运算器 2.     控制器 3.     存储器 4.   &nb…

    Linux干货 2016-12-04
  • linux存储系统流程简介

    存储系统是linux系统非常重要,也是非常基础的知识点。整个存储系统涉及到知识点也非常的多。 本文主要通过磁盘简介->分区管理->文件系统管理->文件存储结构->软连接和硬链接->挂载原理->常见存储相关操作命令,这一条主线来让大家对linux的整个存储系统有个初步,清晰的了解. 1.磁盘简介   &n…

    Linux干货 2015-12-15
  • Linux的发展史和Linux的终端类型

    Linux的发展史和Linux的终端类型 前言:    随着时代的发展,Linux所占的市场份额越来越大,目前几乎百分之九十的服务器市场都被Linux占据。接下来我们来聊聊Linux的发展史。 简单的说:Linux操作系统是1998年的8月芬兰的一个叫Linus Torvalds的大学生写出来的一个类minix的系统。 具体分析: Lin…

    Linux干货 2016-10-17
  • RHCE系列之备份工具—-镜像备份Rsync

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1431426     我一哥们最近在搞备份,需要用到rsync。因此,鄙人就简单总结了下rsync,也就有了这篇博文,希望对51…

    Linux干货 2016-08-15
  • 基础命令。

    简单基础小命令 查看目录 ls 查看当前路径下的目录 ls -a 查看当前路径下的所有目录,包含隐藏目录(带.的就是隐藏) ls -A 跟-a一样,只是不显示上一路径和本身路径(就是.和..) ls -l 显示额外的信息 ls -R 进入每个文件夹查看(递归) ls -ld 查看元数据 ls -1(数字) 排列 ls -r 倒序 ls -t 按修改时间排序 …

    Linux干货 2017-05-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-07 23:34

    文字描述如果能结合事例加以说明就更好了,加油!