VIM Normal 一般性规律性总结

作者: onefishum | 来源:发表于2018-02-10 12:32 被阅读183次

    VIM Normal 一般性规律性总结

    [TOC]

    前言

    已经受不了网上无数VIM的教学,基本都是片汤话,抄来抄去。做为一名技术人员,应该能深入的去了解一个软件,然后总结出来经验规律,而不是记录一个流水帐,这才是最佳的学习方式。计算机与人不同,能处理的东西一般都具有一定的规则性,无规则存在概率性的东西,不是计算机处理的强项,尤其对于软件设计来,良好的规律性,能大幅提升软件的可操作性。对于VIM来讲,这个号称神器的东西,定不能放弃这种规律,结果让一些砖家讲的反而如同垃圾,需要死记硬背一堆命令,实则是没有真正了解VIM,精华的东西却很少见,之所以称之神器,肯定不是简简单单的增删改查,通过命令组合,可以大幅提升文本编辑的速度,远比常规的鼠标操作快,达到手不离键盘。本文仅仅总结一下Normal模式下VIM的一些规律性。

    直接上硬货

    Normal 下通用命令格式

    **[范围]命令[作用域] [对象] ** [1]

    范围(可忽略)

    一般存在以下几种

    • 数量或位置 例如:2y2gg2d2fh(找查当前行,第2个h的位置)
    • 区域 例如:20,30 y20,30d

    命令(必填)

    这部分没有什么可以说的,网上的片汤文章已经很多了一般来讲,就是增删改查复制粘帖之类的。

    作用域(可忽略)

    这个作用域,一般来讲,是指后面的【对象】范围,一般可以是数字或者一些‘动词’。

    • 数字

      d2wy2wf2,

    • 动词[2]

      测试用例:<H1>setopt(ch, "this is a test", 1);</H1>

      • a(包含)

        如果光标在括号内,删除包含括号内的内容。da),很神奇的包含括号的内容全部都被删除了,这比在传统的编辑器中,慢的del一个个来删,好点用鼠标选择来删,要精准快速得多。可以私下试试所有成对字符,例如:”、‘、]、}等。

        例如:比较经典的daw,在语义上可以理解为删除一个单词,他与dw的区别在于,dw只能删除当前光标到单词的结尾,而daw,则会删除整个单词。

      • i(内嵌)

        有了包含,就会有内嵌。例如不包含""的内容,例如di"

    对象(一般需组合作用域)

    • 符号对象
      • 成对的符号,如上面所举”、’、}、],其中)也可以用b来表示dab,}也可以用B
    • 文本对象
      • w 单词
      • W 字符串
      • s 句子
      • p 段落

    总结

    本文作者是一个学理出身的,可能文字功底并不是很好。中心思想,只是希望大家使用计算机时,能尽量抛弃死记硬背,应该从中能找到规律性的东西,理解一个软件。通过以上文章,希望大家能在规律的基础进行排队组合,从而达到更好的效果。

    码农和大拿的区别:思想。

    推荐

    《Vim实用技巧》,这本书有电子版的,质量还不错。但真心推荐买一本,不贵但全书实货满满,空闲时看看,应该每次都能有一些收获,这本书更多注重的是思想,应该是我见过最好的VIM丛书,没有之一。

    原文:


    1. 在normal模式下,大部分文本命令基本跳不出这个范围

    2. VIM下可以参考帮助 :h text-object

    相关文章

      网友评论

        本文标题:VIM Normal 一般性规律性总结

        本文链接:https://www.haomeiwen.com/subject/lqvctftx.html