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)
上一篇 2016-12-04 20:16
下一篇 2016-12-04 20:59

相关推荐

  • yum使用和源码编译进程

    yum 是通过分析RPM的标头数据,根据各软件的依赖关系制作出有依赖关系时的解决方案,然后自动处理软件的依赖性问题,以解决软件安装或升级的问题。  yum使用方法: yum [options] [command] [packages …] install package .. 通过yum安装软件包 update package .. 更新软件包 u…

    Linux干货 2016-08-24
  • Bash Shell之数组简介

    Bash Shell之数组简介   一、数组基本概念   数组是内存中的存储空间,连续的多个存储单元;bash中只支持一维数组,支持稀疏格式 ,参数个数没有限制。 二、数组基本语法格式   1、声明一个数组          declare…

    Linux干货 2015-05-11
  • 软链接和硬链接的区别

    文件管理 前言 Linux的一则哲学:一切皆文件。既然入坑,那么管理linux就是管理一堆文件,操作文件这是展示个人十八般武艺的时候,功夫高下一招下。怎么成为高手,高手的招式都有哪些,拳脚掌刀枪棍棒,一招一式如何练就。 1文件存储 文件存储就好比每个练武人必备的技能——挨打,在你耍十八般武艺前,必须先扛住对方的一掌。我们不必拥有金刚罩铁布衫,至少要学会如何躲…

    Linux干货 2016-10-20
  • linux命令 kill命令详则

    kill命令 kill用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息(默认)为SIGTERM(15),可经指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。 语法 kill(选项)(参数) 选项 -a:当处理当前进程时,不限制命令名和进程号的对应关系; &…

    2017-08-21
  • 脚本进阶

    1、写一脚本,用ping命令测试192.168.1.1-192.168.1.10之间的所有主机的在线状态,在线的主机使用绿色表示,不在线的主机使用红色表示   2、如何给网络配置多个地址,有哪些方式   3、写一个脚本 (1)假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干 (2)显示所有以K开头的文件…

    2018-01-08
  • 模块式LAMP和fpm式LAMP实现wordpress

           Linux+Apache+Mysql/MariaDB+Perl/PHP/Python这一组合常用来搭建动态网站或者服务器的开源软件,随着开源潮流的蓬勃发展,开源的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件平台在软件方面的投资成本较低,,LAMP平台已经成为最强…

    Linux干货 2016-04-22

评论列表(1条)

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

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