zoukankan      html  css  js  c++  java
  • Vim 利剑常磨,见血封喉

    年底了,故事总是会有很多。

    刚了一波通宵加班,趁着有时间,过了一遍Vim教程,顺便汇总下常用命令。

    对于以 OSX / Linux为开发环境的伙伴们,应该并不陌生。因其轻便,扩展性,可定制化,一直很受开发者追捧。高阶大神,袖中必有深藏。

    Vim编辑器简洁易用,在终端上可用来快速查看修改文档。虽然与其他编辑器如WebStrom, VScode相比,功能扩展相对欠缺,对新手朋友不太友好。但胜在多数Linux系统已附带,开箱即用,终端直接使用,无需多开一个应用窗口

    Vim学习的过程不是两三天即可入境,懒惰如笔者,几天不敲,命令忘的七八。时不时还得翻出来看看,至今仍以新手自居。

    作为一名前端开发工程师,如果你想秀操作用Vim来写HTML/CSS/JavaScript,我只想说一句,“小伙子,你很6啊!”。

    前言 vi/vim的区别

    vim 是 vi 的升级版本,它不仅兼容vi的所有指令,还有新增了一些新的特性。

    
    vi filename
    vim filename
    // 两者同样的功能,能少敲一个字母,所以我们就用vi吧
    

    “工具总须多磨,方才用的趁手。”

    Mac 终端键入 vimtutor 即可进入Vim入门教程,30分钟足以让你应对Vim日常操作。

    常规操作

    命令 说明
    x 删除光标下的字符
    X 删除光标左边的字符
    s 修改一个字符(与r的区别,修改后直接进入Insert模式)
    i 光标前插入字符
    a 光标后插入字符
    A 行尾插入字符
    o 光标下方新建一行并进入Insert模式
    O (字母) 光标上方新建一行并进入Insert模式
    r 替换字符(单个)
    R 替换字符(多个)
    cw 替换文本直到单词末尾(ce也可)
    c$ 替换文本直到行尾
    dw 删除单词 (de, d2w)
    d$ 删除到行尾
    D 删除到行尾
    S 删除到行为,并进入Insert模式
    dd 删除整行
    y 复制
    yy 复制整行 (yw, ye)
    p 粘贴到光标之后
    P 粘贴到光标之前
    u 撤销
    . 重复上一次操作
    :! 执行外部名 (:!dir/:ls)
    % 查找配对的括号 ), }, ]
    v motion :w 选择性保存
    Ctrl + D 查看可能的补全

    光标移动

    命令 说明
    h
    l
    k
    j
    0 (数字) 行首
    $ 行尾
    w 下一个单词起始处
    nw (2w) n可为数字,表示移动两个单词
    e 单词末尾(与w的区别)
    gg 文件起始处
    G 文件末尾处

    退出

    命令 说明
    :wq 保存并退出
    ZZ 保存并退出
    :q! 丢弃修改并退出 (q退出,有修改的话q不能退出)
    :e! 丢弃修改并打开原文件

    查找并替换

    命令 说明
    :s/old/new/g 查找old并替换为new,g代表整行匹配
    :#, #s/old/new #, #代表首尾行号
    :%s/old/new/g 全文匹配替换
    :%s/old/new/gc 全文匹配替换,并每次替换会弹出确认提示

    翻页

    命令 说明
    Ctrl + e 向下滚动一行
    Ctrl + y 向上滚动一行
    Ctrl + f 向下翻一页
    Ctrl + b 向上翻一页
    Ctrl + u 向上翻半页
    Ctrl + d 向下翻半页

    文件操作

    命令 说明
    :e + filename 打开新文件
    :r + filename 读取文件并插入到当前文件

    选项设置

    命令 说明
    :set ic 忽略大小写
    :set is 部分匹配(like)
    :set hls 高亮匹配
    :set nu 显示行号

    分屏启动vim

    命令 说明
    vim -on file1 file2... 水平分屏
    vim -On file1 file2... 垂直分屏

    关闭分屏

    命令 说明
    Ctrl + w  c 关闭当前窗口(如果是最后一个,无法关闭)
    Ctrl + w q 关闭当前窗口(如果是最后一个,则退出vim)

    分屏

    命令 说明
    Ctrl + w s 上下分屏
    Ctrl + w v 左右分屏
    :sp filename 左右分屏,且打开一个新的文件
    :vsp filename 上下分屏,且打开一个新的文件

    切换分屏(光标切换)

    命令 说明
    Ctrl + w l 右边
    Ctrl + w h 左边
    Ctrl + w j 上边
    Ctrl + w k 下边

    分屏尺寸调整

    TIPS: (上下分屏生效)

    命令 说明
    Ctrl + w = 所有屏一样高度
    Ctrl + w + 增加高度
    Ctrl + w -  减少高度

    写在结尾

    这么多命令要记,想对Vim说喜欢真不容易,按耐不住就新开VScode。
    少年莫慌,很多事情,难在开头,当你学会了,才会感谢当初的付出。

    本文仅对常用的一些命令做了汇总,Vim的玩法还有很多。在此推荐易水博客的《Vim使用进阶》系列,干货满满。

    寒梅飘香,这个寒冬,与诸君互勉。


    参考文档:

    作者:以乐之名
    本文原创,有不当的地方欢迎指出。转载请指明出处。
  • 相关阅读:
    Java 强、弱、软、虚,你属于哪一种?
    为啥阿里巴巴规定要在 @Transactional 指定 rollbackFor?
    DataGrip 上手体验,真香!
    日志框架选型,Logback 还是 Log4j2?
    基于OpenLayers和ArcGIS Server REST的要素信息保存功能
    基于Openlayers和Arcgis Server REST实现地图(要素)点击查询功能
    使用OpenLayers加载ArcGIS Server矢量图层
    ArcGIS Server在线编辑功能
    使用OpenLayers显示百度地图
    如何分析SAP ABAP的SYSTEM_NO_ROLL运行时错误
  • 原文地址:https://www.cnblogs.com/datiangou/p/10173007.html
Copyright © 2011-2022 走看看