zoukankan      html  css  js  c++  java
  • Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦

    vim

    注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从而让编辑文本的操作更迅捷。并不等同于IDE,在我看来,它们是两个是包含关系,IDE可以有Vim编辑模式。Vim或许可以通过一些插件实现部分IDE的功能,但不能说Vim是IDE。

    写之前,脑子里觉得可以最常用操作的来熟悉Vim,内容不多,写了一半确发现,即使是最常用的操作,讲完也要写好多,已经不能叫什么极简教程了,不过既然写了,就这样吧

    都说Vim很难学,是的,相对于鼠标来讲,肯定是超难学了。但它的好处真的非常多,特别是对于敲代码的同学。关于这些问题,今天就不讨论了,这里主要说的是,只要记住小小的一部分操作,就可以很轻松的使用Vim,仍然可以极大的提高敲代码的效率哦。

    网上很多介绍Vim的文章,都在介绍它强大的操作,其实加大了学习的难度,我简单的总结了一下,要使用Vim只需要记住这么几个操作:

    1、操作模式

    2、移动光标

    3、复制/粘贴

    4、删除

    其实只要掌握好这几点,熟练一下,就可以轻松应对了。当然要很好的适应日常敲代码的工作,还得对目录和文件的操作熟悉,当做第二部分内容吧

    1、目录操作

    2、文件操作

    每一项有几个操作,稍微熟悉一下,就可以很好的使用了,多用一会儿,立刻就会发现,放弃鼠标的快感。 

    操作模式

    1、移动模式。这是我取的名字,文档上叫normal模式,不够形象,所以我叫它移动模式,一听就懂了

    ESC:从其它模式退出,进入移动模式,最好按两下

    2、编辑模式。文档上叫insert模式,还是编辑比较好。进入编辑模式有几种方式,适应用不同的场景,都是方便操作的,各按键如下:

    i :在光标当前位置前进入

    a:在光标当前位置后进入

    shift + i:在行首位置进入

    shfit + a:在行尾位置进入

    o:在光标所在行下方新开一行进入

    shift + o:在光标所在行上方新开一行进入

    3、选择模式。文档上叫什么忘了,不过选择也很好理解。选择模式有两种:

    v:进入选择文本模式。从当前光标位置开始,移动光标,之间的文本都会是选中状态。这期间,可以使用移动光标的操作进行移动。

    ctrl + v:进行特殊操作模式。也是我取的名字,原来叫块操作模式,什么是块?无法理解。它最有用的操作是给多行加上统一的首或尾,如:可以在选中的所有行首加上注释符,也可以在选中的所有行尾加上分号等。同样可以使用移动中的到行首或是到行尾进行操作。

    移动

    1、行间移动

    j:下移一行

    k:上移一行

    gg:移到文档第一行

    shift + g:移到文档最后一行

    shift + h:移到当前屏的第一行

    shift + m:移到当前屏的中间行

    shift + l:移到当前屏的尾行

    :行号:移到对应行号的行

    ctrl + d:向下翻页

    ctrl + u:向上翻页

    特别说明(好理解的就不说了,说说不太好懂的) 

    当前屏:就是vim中显示出来的部分,未显示出来的部分不算在里,它里面上中下位置的移动,也就是在看得见的部分进行。

    :行号:这个操作可以分三部分:

    1、shift + : 进入输入模式。

    2、输入行号。

    3、回车。

    光标就会跳到输入行号的行上。

    2、行内移动(都是小写字母)

    h:左移一位

    l:右移一位

    w:跳到下一个词的词首

    e:跳到当前词的词尾

    b:跳到当前词的词首,如果光标本身就在当前词的词首,则跳到前一词的词首

    shfit + ^:跳到行首(非空白字符)

    shift + $:跳到行尾

    f字符:跳到下一个相同字符的位置。之后按;可以继续跳向下一个相同字符的位置

    shift + f字符:跳到上一个相同字符的位置。同上,之后按;可以继续跳向下一个相同字符的位置,只是方向和上面是相反的。

    特别说明:

    f字符:操作分两步:

    1、按f

    2、按一个字符

    这样光标会直接跳到当前光标之后对应按的字符的第一个出现位置(好乱),举个例子:

    my name is onlyfu.

    当标在第一个字符m上,这时先按f,再按o,光标就会跳到o的位置。如果按f后按n,光标就会跳到之后出现的第一个n的位置,也就是name的n上,这是如果按;,光标就会跳到第二个n,也就是onlyfu的n上,;可以继续点,如果还有n就会继续跳过去。

    shift + f字符:和f字符是一样的,只是是向前跳,而不是向后跳,也就是一个反方向操作。

    当然,还有一些移动的方法,以上的操作已经够用了,这里就不讲了。

    复制/粘贴

    1、复制一行

    yy:复制光标所在行 

    2、复制多行

    yj:复制光标当前行和其下一行,共两行

    yk:复制光标当前行和其上一行,共两行

    y:行号:复制渔村当前行到对应行号之间包括对应行号行,共多行

    其实用得多的只有yy,复制多行同样可以使用复制选中内容的操作来实现

    3、复制选中内容 

    v移动光标y:复制选中的内容。这其实是三步操作:

    1、按v键,进入选择模式

    2、移动光标,使用移动的方法来移动,行间,行内的操作都是可以的

    3、按y键,复制所有选中内容,并进入移动模式

    4、粘贴

    p:将复制内容粘贴出来。粘贴有两种情况:

    1、如果是整行的复制,粘贴会在当前光标行的下一行粘贴出来,这样会把之前的下面所有行顺序的往下移

    2、如果复制的不是整行,只是行内或行间字符,粘贴会在妆前光标位置直接插入复制内容,不会新建行。

    这两点要特别注意,不然复制粘贴不会如你所愿

    删除

    删除和复制是同理的

    1、删除一行

    dd:删除光标所在行 

    2、删除多行

    dj:删除光标所在行及其下一行,共两行

    dk:删除光标所在行及其上一行,共两行

    d:行号d:删除光标所在行及对应行号之间,包括对应行号的所有行,共多行

    注意,删除操作,会同时复制被删除的内容,这样就可以有移动行的操作,比如,想把第3行移到第5行,那就先删除第3行,到第4行上按粘贴。

    好吧,以上就是最简的说明,也写了这么多,后面的目录和文件的操作放到下次再讲。Vim就入门稍难,只要静下来按着上面的操作一会儿,相信,你一定会爱上它的。

  • 相关阅读:
    JS判断是否是ioS或者Android
    React+dva多图片上传
    Nginx的虚拟主机
    Nginx的动静分离
    Nginx的负载均衡
    Nginx的静态代理
    Java内存模型
    系统学习笔记漏掉的部分
    异常的统一处理
    webpack学习指南
  • 原文地址:https://www.cnblogs.com/onlyfu/p/5046910.html
Copyright © 2011-2022 走看看