美文网首页程序员工具癖
跟我读vim文档:007_修改:操作+范围

跟我读vim文档:007_修改:操作+范围

作者: 咖喱py | 来源:发表于2018-02-12 10:22 被阅读52次

    进行修改的时候,我们通常要清楚两件事情。
    一:进行怎样的修改。
    比如删除、改动、复制等。

    二:修改哪里?或者说修改的范围是什么?
    比如删除一个词、删除一句话、删除一个段落等。


    为了方便讲解,我们先来讲解:范围

    之前我们在讲解移动时,用kjhl进行字符间移动,用w进行单词间移动,移动距离从小到大,逐步升级。
    同理,我们在确定范围时,也用到了类似的东西。不过,要更细致一些。
    并且,范围操作移动操作还有很多相通的地方。


    一、范围

    只要你英语懂一点,很容易就能理解。
    (galipy老师在这里再次强调学好英语的重要性=_=)

    比如:
    aw 表示a word 一词
    as 表示a sentence 一句
    ap 表示a paragraph 一段

    还有一些其他的,比如:
    at 表示a tag 一标签块
    a( 表示一括号对儿
    具体还有什么,可以直接在你的vim中输入如下代码进行查阅:

    :help text-objects
    

    那么,这个范围要怎么用呢?
    他需要和操作组合起来。

    二、操作

    常见操作有:
    d(表示删除,delete的缩写)
    c(表示修改,change的缩写)
    y(表示复制,yanking的缩写。复制之所以用这个,是因为c字母已经被占用了。。)

    具体还有哪些操作,我们可以在vim中输入如下代码:

    :help operator
    

    下面,我们用操作d来讲解如何与范围组合使用。


    三、组合:操作+范围(operator + motion)

    vim更适合母语为英语的人使用。
    比如,他们想删除一个单词,那么他们心中想的就是delete a word。
    这一句在vim中,只要输入如下缩写即可:

    daw
    

    从光标处开始的一个单词就会被删除掉。
    (注意:在普通模式中操作。)

    删除一句话就是:delete a sentence

    das
    

    删除一个段落就是:delete a paragraph

    dap
    

    不过,这些操作都是从光标处开始。也就是说,如果你想删除一句话,但是,你的光标停在了句子中间,那么,你只能删除半句。所以,每次操作,都要先把光标移动到句子开头。

    为了解决这个繁琐的操作,vim提供了另一种描述方式:
    delete inner sentence删除内含句。无论你的光标在哪,都可以直接删除整句。
    缩写操作为:

    dis
    

    相应的,也会有:

    diw
    dis
    dip
    dit
    

    如果明白了d(删除)操作与范围操作的组合,那么,上面举例的两个其他功能键也应该可以上手了。

    c表示修改
    在普通模式下按c,然后确定范围,然后回车。
    比如,你选了一句话,回车之后,这句话会被删除,并且切换为输入模式。

    y表示复制
    在普通模式下按y,然后确定范围,然后回车。
    比如,你选了一句话,回车之后,这句话会被复制到类似剪贴板的地方。之后按下p键才能粘贴。


    对于母语非英语的少年,只能通过多多练习来掌握这些技巧了:p


    四、拓展

    最后再来说说范围操作和移动操作的一些共通之处吧。
    主要的共通之处在于跳转操作上。
    比如

    gg
    G
    H
    M
    L
    

    甚至是 f 功能也是可以用的,比如:
    eg:there is noting to tall.

    dfg
    

    eg: to tall

    至于具体有哪些共通操作,大家自己探索吧~


    五、思考

    1、

    我们知道,如果想删除一行的话,我们通常会用快捷键:

    dd
    

    那么,如果想复制一行,或修改一行,应该如何操作?

    2、

    daw是删除一个词的意思,那么它是不是也能看成是进行了一次操作
    那么如何进行N次操作
    (ps:系统内置了一个重复操作的快捷键:小数点,不过它只能重复一次上一次操作。)

    相关文章

      网友评论

        本文标题:跟我读vim文档:007_修改:操作+范围

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