vim学习

vim学习

认识与介绍

  vim是一款linux下查看编辑文本文件的一款文本编辑器。一般用来查看修改配置文件、日志文件等文本类文件。

打开文件

  vim [OPTIONS] [FILE …]

    +#: 打开文件后,直接让文件处于第#行
    +/PARTERN: 打开文件后,直接处于第一个被PARTERN匹配到的行的行首

模式转换

编辑模式:默认模式
    编辑模式 --> 输入模式
            i: insert, 在光标所在处输入
            a:append, 在光标所在后方追加
            o:在光标所在处的下一行打开一个新行
            I:在光标所在行的行首输入
            A:在光标所在行的行位输入
            O:在光标所在行的上一行输入

    输入模式 --> 编辑模式
            ESC
            Ctrl+C

    编辑模式 --> 末行模式
            :

    末行模式 --> 编辑模式
            ESC
            Ctrl+C

关闭文件

    ZZ    保存并退出
    :q    退出
    :q!   强制退出
    :wq 保存并退出;
            :w, :q
    :x    保存并退出
    :w    /PATH/TO/SOMEFILE

编辑模式下的操作

光标跳转

    字符键跳转
        h:    左
        j:    下
        k:    上
        l:    右

    单词间跳转
        w:下一个单词的词首
        e:当前或后一个单词的词尾
        b:当前或前一个单词的词首

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

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

    句间跳转
        ):    跳转至上一句的句首
        (:    跳转至下一句的句首

    段间跳转
        {:    跳转至上一段落的段首
        }:    跳转至下一段落的段尾

翻屏

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

字符编辑

    x:     删除光标所在处的字符
    #x:    删除光标
    xp:    交换光标所在处的字符与其后面字符的位置;

替换命令

    r:替换光标所在处的字符(键入r后,键入其他字符替换当前字符)
        rCHAR

删除命令

    d:删除命令,可结合光标跳转字符,实现范围删除;
        d$:删除光标至行尾的所有字符
        d^:删除光标至行首的所有字符

        dw:删除光标所在单词至下一个单词的词首
        de:删除光标位置到所在位置至词尾的字符
        db:删除光标至当前所处单词的词首

        dd:删除光标所在的行
            #dd:从光标所处行起,删除#行

粘贴命令(p, put, paste)

    小写p:缓存区中的内容若是正行内容,则粘贴在光标所在行的下一行;否则粘贴在光标所在行尾
    大写P:缓存区中的内容若是正行内容,则粘贴在光标所在行的上一行;否则粘贴在光标所在行首

复制命令

    y:复制,工作行为类似于d命令;
        y$: 复制光标位置到当前行尾部的内容
        y^:复制光标位置到当前行行首非空的内容
        y0:复制光标位置到当前行行首的内容

        ye:复制光标到当前词的词尾的内容
        yw:复制光标到下一个单词的词首的内容
        yb:复制光标到当前单词词首的内容

改变命令(change, c)

    c$:删除光标至当前行行尾的内容并进入插入模式
    c^:删除光标至当前行首的非空字符并进入插入模式
    c0:删除光标至当前行的行首并进入插入模式

    cb:删除光标至当前单词的词首内容并进入插入模式
    ce:删除光标至当前单词的词尾内容并进入插入模式
    cw:删除光标至下个单词的词首的内容并进入插入模式

    cc:删除光标所在的行,并转换为输入模式
        #cc:从光标所在行起删除#行,并转换为输入模式

可视化模式

用来选中连续的内容。
    v:按字符选定:
    V:按行选定;

    结合编辑命令使用:d, c, y

撤销(undo)操作

    u:撤销此前的操作
        #u:撤下此前的#个操作
    Ctrl+r:撤销此前的撤销

重复执行前一个编辑操作

    .

vim 行内模式(也称为命令行模式)

  • 这是vim內建的命令行接口

地址定界

界定内容后,进行命令编辑

    :start_pos[,end_pos]
        #:        特定的第#行,例如5即第5行
        .:        当前行
        $:        最后一行
        #,#:      指定行范围,例如3,5表示第3到第5行(其中3行和5行都包含在内)
        #,[-|+]#: 指定行范围,相对于起始行+#行或-#行
                3,+7:表示第2行到第10行
                .,$-1:表示当前行到最后一行减1行,也就是当前行到倒数第2行
                1,$:表示从第1行到最后一行
        %:        全文
        /pattern/:从光标所在行到第一次被模式匹配到的行
            /first/,$:从光标所在行起第一次匹配到first字符串的行到最后一行
        /pat1/,/pat2/:从所在行起第一次匹配到pat1的行开始,至第一次匹配到pat2所在行结束之间的行。

    同编辑命令一同使用,实现编辑操作:
        d:删除界定的内容
        y:复制界定的内容
        c:删除界定的内容并进入插入模式

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

导入其他文件内容

r /PATH/RROM/SOMEFILE:将指定的文件中的文本读取并插入至指定位置

全文查找

    /PATTERN:从光标所在处向文件尾部查找能够被 PATTERN 匹配的所有字符串
    ?PATTERN:从光标所在处向文件首部查找能够被 PATTERN 匹配的所有字符串
            n:跳转至下一个匹配项,与命令方向相同;
            N:跳转至上一个匹配项,与命令方向相反;

查找并替换

    默认的界定符是 . 当前行。全文替换则为%为界定符即可。
    s:末行模式的命令
        使用格式:
            s/要查找的内容/替换的新内容/修饰符
                要查找的内容:可以使用正则表达式
                替换的新内容:不可以使用正则表达式,但可以引用查找到的内容中的分组
                        要查找的内容中有分组,在替换的新内容中可以使用 \1,\2... 向后引用
                        直接引用查找到的所有文本,要使用&符号;
                修饰符:
                    i:忽略大小写
                    g:全局替换,意味着一行中匹配到多次全替换,否则只替换匹配到的第一个

            可把分隔符修改为其他不常用的字符(这种修改后,原有的/分隔符依然可以使用):
                    s@@@
                    s###

定制工作特性

  • 注意在末行模式下的设定,仅对当前vim进程有效;

  • 永久有效,可以设置
    全局:/etc/vimrc
    个人:~/.vimrc

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

获取帮助

:help
:help subject

原创文章,作者:小江,如若转载,请注明出处:http://www.178linux.com/49630

(0)
小江小江
上一篇 2016-10-09
下一篇 2016-10-09

相关推荐

  • 马哥教育网络班22期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 vim: 模式化的编辑器 基本模式:     编辑模式:命令模式     输入模式:     未行模式:内置的命令行接口 打开文件:      …

    Linux干货 2016-09-26
  • 权限

    用户组和管理权限

    2017-11-30
  • 程序包管理初步

    升级:       rpm {-U|–upgrade} [install-options] PACKAGE_FILE …                -U:升级或安装;       rpm {-…

    Linux干货 2016-12-31
  • Week 1 计算机组成

    I. 引 Introduction     在学习计算机技术之前,了解计算机的组成是非常必要的。这不仅可以让你对硬件有一个大概的了解,而且会让你将来对基于硬件运行的软件有一个更为透彻的理解。只有理解了计算机是如何协调它的部件来工作的才方能理解人们为何这样设计操作系统和程序。 I. 计算机部件 The Essential…

    Linux干货 2016-06-11
  • LVS:三种模式的原理、调度算法、及应用介绍

    LVS三种模式原理(nat/dr/tun) LVS/NAT:   如上图,客户通过virtual IP (虚拟服务的IP地址,公网地址),访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址VIP,改写成选定服务器的地址(RIP),报文的目标端口改写成选定服务器的相应端口,最后将修改…

    Linux干货 2016-10-30
  • Linux keepalived高可用集群

                       Linux keepalived高可用集群 keepalived简介:    keepalived是为了高可用ipvs集群而设计的,主要用作realserver的健康状态检测,如果有一台web…

    系统运维 2016-11-18