美文网首页前端秋风随笔秋风随笔
远古神器VIM的必备指令

远古神器VIM的必备指令

作者: 秋风喵 | 来源:发表于2016-12-24 08:44 被阅读69次

    查看作者原文

    vim是个很好的编辑器,远古神器嘛,当你熟悉了这个编辑器你的逼格是不是瞬间就会高了许多
    首先安装vim
    当然学习一个编辑器都是为了方便自己,提高效率,可是vim这个文本编辑器的学习曲线是陡峭的
    但苦练会让你带来搞效率
    而我自己在用git命令的时候再配合vim确实是很强大的开发组合,虽然vim没有代码提示,但是它本身其实是有很多的插件供使用的,当我们git提交代码的时候,用vim来对代码进行解决冲突和编辑都是非常方便的
    VIM下载
    vim
    启动vim

    imageimage

    i
    Insert模式,按 ESC 回到Normal模式
    反正如果不知道现在是在什么模式下,就一直按ESC,回到Normal模式,下面功能键都是在Normal模式触发的

    imageimage

    此时Insert模式跟记事本一样


    imageimage

    操作vim会经常在这两个模式下切换,就如同在记事本中你在选项卡和编辑内容窗口中切换一样


    imageimage
    imageimage
    只不过这里大部分变成了键盘操作

    所以在Normal模式下,键盘上所有的键都变成对应的功能键了,就如同我们按c跟按ctrl+c一样,c在后面就变成了对应的功能键了

    x
    Normal模式下,按x删除当前光标所在的一个字符

    imageimage
    其实这个相当于Insert模式下的退格键

    :wq
    保存+退出vim(:w 保存 :q 退出) 后面跟文件名

    imageimage
    这个相当于记事本中的文件->(保存)另存为

    dd
    删除当前行,并把删除的行保存到剪贴板里面,也是IDE里面常用的,快速删除一行代码,不用长按退格了

    p
    粘贴剪切板,这个功能挺常用的,如果在外面复制完东西,直接在vim界面按p就可以粘贴了

    yy
    复制当前行到剪切板

    imageimage

    help
    显示相关命令的帮助

    imageimage

    :q
    退出
    :q!
    不保存直接退出

    imageimage

    a
    在光标后插入,如果本来光标不在最后就会自动帮你定格到最后输入

    imageimage

    o
    在当前行后面插入一个新行,相当于记事本一行的最后敲回车键

    imageimage

    0
    按数字0就是到行头,跟a是相反的

    imageimage

    ^
    这个是要结合shift+6,到本行第一个非blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

    imageimage

    $
    光标切换到本行行尾

    imageimage

    /pattern
    搜索 pattern 的字符串

    imageimage
    如果搜索出多个匹配,按n可以定位到下一个
    imageimage

    u
    撤销 就是Undo

    imageimage
    这个功能基本IDE都是有的,挺常用的,如同我用PS时候ctrl+z那样方便

    ctrl+r
    重做 也就是Redo

    imageimage

    :e <文件路径/文件名>
    打开一个文件,这个在cmd中我常常cd到指定目录,然后dir显示再用vim来打开相应的文件来进行编辑

    imageimage

    :w
    保存

    imageimage
    保存后会出现written的提示
    imageimage

    :saveas <文件路径/文件名>
    另存为

    imageimage
    保存成功后也会出现written的提示
    imageimage
    有一点需要注意的是如果只是保存或者另存为但是一直没有退出vim编辑的话,文件会一直以下图后缀在文件夹
    imageimage
    但是如果保存并退出了,就会变成保存时候定义的文件名和后缀了
    imageimage

    :x
    ZZshift+z
    :wq
    上面这三个都是保存并退出,注意ZZ是不需要输入冒号和回车的

    imageimage

    :q!
    退出但不保存
    :qa
    强行退出所有的正在编辑的文件,就算别的文件有更改

    :bn
    :bq
    有时候我们需要打开多个文件,就是在一个文件已经打开的情况下我们可以继续用:e来打开其他文件,当打开多个文件的时候,可以使用上面这两个命令来切换下一个或者上一个文件

    imageimage

    .
    这个命令可以重复执行自己运行的上一个命令

    N<命令>
    打这个的时候是不可见的,也就是盲打
    N就是输入一个数字,比如我输入9p,就会出现下图这个

    imageimage

    G
    将光标定位到最后一行的头部

    imageimage

    w
    到下一个单词的开头。
    e
    到下一个单词的结尾。

    • 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成
    • 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。

    *和#
    当你把光标放到catwsscat上的时候按*或者#就会移动到匹配该单词的上一个或者下一个

    • *在键盘左边是匹配上一个单词
    • 在键盘右边是匹配下一个单词

    imageimage

    %
    匹配括号移动,支持(,{, [,你需要把光标先移到括号上

    imageimage

    v
    进入可视化选择后按键盘的上下左右的方向键都会帮你自动选择

    qq 20160603100040qq 20160603100040
    可视化选择下
    J → 把所有的行连接起来(变成一行)
    < 或 > → 左右缩进
    = → 自动给缩进 (这个确实挺方便的)

    相关文章

      网友评论

        本文标题:远古神器VIM的必备指令

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