vi(vim)编辑器的使用

vim编辑器:全屏编辑器,模式编辑器

vim模式:

    编辑模式:

    输入模式:

    末行模式:

    转换模式:

        编辑–>输入模式

        i:在当前光标所在字符的前面,转换为输入模式

        a:在当前光标所在字符的后面,转换为输入模式

        o:在当前光标所在行的下方,新建一行,转换为输入模式

        I:在当前光标所在行的行首,转换为输入模式

        A:在当前光标所在行的行尾,转换为输入模式

        O:在当前光标所在行的上方,新建一行,转换为输入模式

        输入–>编辑:

                ESC

        编辑–>末行模式

        :

        末行模式–>编辑模式

        ESC,ESC

一、打开文件

            # vim /path/to/somefile

            vim +N:打开文件,并定位与第N行

            vim +:打开文件,定位至最后一行

            vim +/pattern:打开文件,定位第一次被PATTERN匹配到的行的行首

二、关闭文件

        1.末行模式关闭文件

        :q 退出

        :wq 保存并退出

        :w! 强行保存

        :wq<–>:x

        2.编辑模式下退出

        ZZ(大写的ZZ)

三、移动光标(编辑模式)

            1.逐字符移动:

            h:左

                #h:移动#个字符

            l:右

        #l:

            j:下

        #j:

            k:上

        #k:

            2.以单词为单位移动

            w:移动至下一个单词的词首

    #w:移动#个

            e:跳至前或下一个的词尾

    #e

            b:跳至当前货前一个单词的词首

    #b

    3.行内跳转:

            0:绝对行首

            ^:行首的第一个非空白字符

            $:绝对行尾

    4.行间跳转

            #G:跳转至第#行

            G:最后一行

        末行模式下,直接给出行号即可

四、翻屏

                Ctrl+f:向下翻一屏

        Ctrl+b:向上翻一屏

        Ctrl+d:向下翻半屏

        Ctrl+u:向上翻半屏

五、删除单个字符

        x:删除光标所在处的单个字符

        #x:删除光标所在处的#字符

六、删除命令:d

        d命令跟跳转命令组合使用;

        #dw,

        #de,

        #db,

        d$,

        d^,

        d0

        dd:删除当前光标所在行

        #dd:删除当前光标所在的#行

        扩展模式下:

        #,#d

        .:表示当前行

        $:最后一行

        +#:向下的#行

七、粘贴命令p

        p:如果删除货复制为正行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴在光标处后面

        P:如果删除货复制为正行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴在光标处前面

八、复制命令 y

        用法同d命令

九、修改:先删除内容,再转换为输入模式

        c:用法同d命令

十、替换:r

        R:替换模式

十一、撤销编辑操作 u

        u:撤销前一次的编辑操作

        连续u命令可撤销此前的n次编辑操作

        #u:直接撤销最近#次编辑操作

        撤销最近一次撤销操作:Ctrl+r

十二、重复前一次编辑操作

.

十三、可视化模式

        v:按字符

        V:正行

十四、查找

        /PATTERN:向后查找

        ?PATTERN:向前查找

        n:下一个

        N:上一个


十五、查找并替换

        在末行模式下使用s命令

        ADDR1,ADDR2s@PATTERN@string@gi

十六、使用VIM编辑多个文件

        vim FILE1 FILE2 FILE3

        :next 切换至下一个文件

        :prev 切换至前一个文件

        :last 切换至最后一个文件

        :first 切换至第一个文件

        退出

        :qa 全部退出

十七、分屏显示一个文件

        Ctrl+w,s:水平拆分窗口

        Ctrl+w,v:垂直拆分窗口

        在窗口切换光标:

        Ctrl+w,上下

        :qa 关闭所有窗口

十八、分窗口编辑多个文件

        vim -o:水平分割显示

        vim -O:垂直分割显示

十九、将当前文件中部分另存为另一个文件

                末行模式下使用w命令

                :w 

                :ADDR1,ADDR2w /path/to/somewhere

二十、将另外一个文件的内容填充到当前文件中

        :r /path/to/somewfile


二十一、跟shell交互

        :! COMMAND

二十二、高级话题(个性定制)

        1、显示货或消显示行号

        :set number

        :set nu

        取消显示行号

        :set nonu

2、显示忽略或区分字符大小写

        :set ic

        :set noic

3、设定自动缩进

        :set autoindent

        :set ai

        取消自动缩进

        :set noai

4、查找到的文件高亮显示或取消

        :set hlsearch

        :set nohlsearch

5、语法高亮

        :syntax on

        :syntax off

6、配置vim

        (7) 文件格式

        启用: fileformat=unix

        不忽略: fileformat=dos

        (8) 设置文本宽度

        :set textwidth=65 (vim only)

        :set wrapmargin=15

        :help option-list

        :set or :set all

二十三、配置文件

        /etc/vimrc

        ~/.vimrc

二十四、扩展模式:地址定界

        地址定界

        :start_pos,end_pos

        #: 具体第#行,例如2表示第2行;

        #,#: 从左侧#表示行起始,到右侧#表示行结尾

        #,+#: 从左侧#表示的行起始,加上右侧#表示的行数

        :2,+3 表示2到5行

        .: 当前行

        $: 最后一行

.,$-1 当前行到倒数第二行

        %: 全文, 相当于1,$

        /pat1/,/pat2/

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

    #,/pat/

    /pat/,$

    

    y

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

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


二十五、编辑二进制文件

        vim –b binaryfile

        转换为可读的十六进制

        :%!xxd

        转换回二进制

        :%!xxd –r

        保存退出

二十六、多文件模式

         vim FILE1 FILE2 FILE3 …

    :next 下一个

    :prev 前一个

    :first 第一个

    :last 最后一个

    :wall 保存所有

    :qall 退出所有

    :wqall

    vim模式:

        编辑模式:

        输入模式:

        末行模式:

        转换模式:

        编辑–>输入模式

        i:在当前光标所在字符的前面,转换为输入模式

        a:在当前光标所在字符的后面,转换为输入模式

        o:在当前光标所在行的下方,新建一行,转换为输入模式

        I:在当前光标所在行的行首,转换为输入模式

        A:在当前光标所在行的行尾,转换为输入模式

        O:在当前光标所在行的上方,新建一行,转换为输入模式

        输入–>编辑:

        ESC

        编辑–>末行模式

        :

        末行模式–>编辑模式

        ESC,ESC


原创文章,作者:皱 多利亚,如若转载,请注明出处:http://www.178linux.com/34324

(0)
皱 多利亚皱 多利亚
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 用户和组命令及相关配置文件总结

    用户和组相关的配置文件 目录 一、创建用户、组和权限相关命令… 1 1、useradd 帐号建立… 1 2、usermod 用户属性更改… 2 3、Passwd. 2 4、userdel 2 6、chfn. 3 7、Chsh. 3 8、finger. 3 9、groupadd. 3 10、Groupdel 3 11、gro…

    Linux干货 2016-10-24
  • Linux三剑客之grep使用入门指南

    Linux的grep是一个具有强大功能的文本搜索工具,正确的学习和使用,能很大程度上提高工作效率,减轻运维工作所面临的压力。

    2017-09-09
  • N25第二周视频作业:用户、组与权限管理详解

    此篇博客是根据视频要求写的,因为马哥在视频中说了,用户组、权限在linux运维过程中比较重要,所以一定要深入学习 首先,先介绍一下用户、组与权限是什么:     用户:用户时指你在服务器上的标识,通过不同类型的用户,你享受到不同的待遇,而待遇就是权限的大小。每个用户在服务器上都有唯一的id标识,即使你将此用户删除,再建…

    Linux干货 2016-11-26
  • 设计模式 ( 二十 ) 访问者模式Visitor(对象行为型)

    特此说明:对访问者模式理解不是特别透彻,若有误,请指正,谢谢! 1.概述 在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同。 例子1:顾客在超市中将选择的商品,如苹果、图书等放在购物车中,然后到收银员处付款。在购…

    Linux干货 2015-04-07
  • rsync+inotify实时同步备份数据

    rsync同步 rsync+inotify实时同步备份数据 软件简介: rsync命令简介: rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大…

    Linux干货 2016-10-28
  • 为什么新建文件时,所在文件系统还有大量剩余空间,却提示此文件系统空间已满??

    一:答疑解惑:    这是因为该文件所在分区的inode号被用尽,虽然分区的剩余容量还有很多。 二:基本原理:   inode为何物block又为何物?以及,inode都有哪些特征?   ①我们知道,在linux文件系统中,文件名只是计算机用来给人看,而计算机本身只识别文件所对应的数字或编号,而这个编号或数字…

    2017-07-22