zoukankan      html  css  js  c++  java
  • 【最简单的vim教程】vim学习笔记-基础操作

    说明

    • C-字母 = Ctrl + 字母
    • char = 任意字符

    开始编辑

    insert

    按键 功能 说明
    i(I) insert 当前位置插入(当前行前)
    a(A) append 当前字符后面插入(当前行后)
    o(O) open a line below 当前行的下面(当前行上面)

    模式

    模式 功能 说明
    普通模式(ESC) normal 操作和移动
    插入模式(i,a,o) insert 编辑
    命令模式(:) command 执行命令
    可视模式(v,V,C-v) visual 选择

    可视模式

    visual

    按键 说明
    v 选中字符
    V 选中当前行
    C-v 方块选择

    插入模式技巧

    insert

    按键 功能 说明
    C-h 删除 上一个字符
    C-w 删除 当前单词
    C-u 删除 当前行(终端可使用)
    C-a 移动到开头 终端
    C-e 移动到结尾 终端

    切换insert和normal模式

    按键 功能 说明
    C-[ 切换到normal 代替ESC
    C-c 切换到normal 代替ESC
    gi 跳转到上一次编辑的位置操作

    普通模式

    normal

    快速移动

    按键 功能 说明
    hjkl 移动 上下左右
    w(W) 移动 下一个单词开头
    e(E) 移动 下一个单词结尾
    b(B) 移动 上一个单词开头

    大写以空白格为分隔符

    行间搜索移动

    按键 功能 说明
    f{char}(F) 跳转 跳转到char上(往前搜)
    t{char} 跳转 跳转到char前一个字符
    ; or , 继续 继续查找

    水平移动

    按键 功能 说明
    0 移动 移动到行首
    $ 移动 移动到行尾

    页面移动

    按键 功能 说明
    gg 移动 文件开头
    G 移动 文件结尾
    C-o 移动 快速返回上一位置
    H/M/L 移动 屏幕开头/中间/尾
    C-u 翻页
    C-f 翻页
    zz 翻页 中间

    删除命令

    按键 功能 说明
    {number}x 删除 删除一个字符
    diw delete 删除一个单词(不删除空格)
    dw 删除word 删除一个单词
    {number}dd 删除 删除当前行
    dt{符号} 删除 删除符号之间的内容
    d 删除 直接删除选中部分

    快速修改

    按键 功能 说明
    r(R) 替换 替换一个字符(替换后面一个字符)
    c{任意命令} 改变 删除然后进入i
    caw 改变 删除并改变一个单词
    s(S) 替换 删除当前字符,然后进入i(删除整行)
    u 回退 撤销
    C-r 回退 前进

    查询

    按键 功能 说明
    / or ? 查询
    n or N 移动 下 /上
    * / # 移动 前 / 后

    Text Object

    [ number ]< command >[ text object ]

    按键 功能
    viw 选中一个单词
    vaw 选中一个单词(周围)
    caw 修改一个单词
    ci+符号 删除符号内的内容
    ...

    寄存器

    复制粘贴

    normal

    按键 功能
    y(yy) 复制(复制一行)
    p 粘贴
    ” + y 复制到系统剪切板

    insert

    按键 功能
    C-v 粘贴

    按键 功能
    q{char} 录制宏,并存在a中
    q 结束录制宏
    :normal @{char} 批量恢复录制
    @{char} 恢复录制

    示例:

    []中间为示例操作流程

    • q{char}

    [

    • I{char}当前行前加入char (例子)
    • A{char}当前行后加入char(例子)

    ]

    • q 结束录制
    • 恢复录制@a
    • 行选需要操作的文本
    • :normal @a
  • 相关阅读:
    JavaScript Patterns 5.7 Object Constants
    JavaScript Patterns 5.6 Static Members
    JavaScript Patterns 5.5 Sandbox Pattern
    JavaScript Patterns 5.4 Module Pattern
    JavaScript Patterns 5.3 Private Properties and Methods
    JavaScript Patterns 5.2 Declaring Dependencies
    JavaScript Patterns 5.1 Namespace Pattern
    JavaScript Patterns 4.10 Curry
    【Android】如何快速构建Android Demo
    【Android】如何实现ButterKnife
  • 原文地址:https://www.cnblogs.com/huanhao/p/learnvim.html
Copyright © 2011-2022 走看看