vim学习笔记

在线练习网站 openvim


推荐阅读:

Modes

  • insert
    可以使用i a o进入insert mode
    o 在新的一行开始编辑
    O 在当前行之前新起一行并编辑
  • command
    此模式下可以执行命令操作

Exit

  • :q 退出编辑器,如果修改了文件,需要使用强制退出
  • :q! 强制退出,不保存文件
  • :w 保存
  • :wq 保存并退出

Number

在使用命令时结合数字可以实现选中多个字符、多行等效果

Movement

  • basck movement

    • h 向左移动
    • j 向下移动
    • k 向上移动
    • l 向右移动
  • word movement

    • b 移到词首(向前移动)
    • e 移到词末
    • w 移到下一个词首(向后移动)
  • inline movement

    • 0 移动到句首
    • $ 移动打句末
    • ^ 移动到不是空白字符的句首
    • g_ 移动到不是空白字符的句末
  • lines movement

    • gg 移动到文件开头
    • G 移动到文件末尾,使用数字可以移动到指定行(eg: 2G可移动到第二行)

Edit

  • u 恢复(恢复到上一步操作)
  • ctru+R redo(恢复到下一步操作)
  • x 从光标处向后删除单个字符
    • X 从光标处向前删除单个字符
  • d 删除多个字符串,可以结合number和movement使用
    • dd 删除当前行
  • r 替换字符串
  • y 复制,可以结合number和movement使用
    • yy 复制当前行
  • p 粘贴
    • P 从光标处向前复制

Insert Repeatedly

  • [number]i[text][esc] 执行后重复插入n次文本
1
2
3
3iha[esc]
# output
# hahaha

Search character or word

  • 查找单个字符

    • f[charactor] 向后查找最近的一个字符
  • 查找光标所在的词

    • * 向后查找
    • # 向前查找
  • 查找指定字符

    • /text 从光标处查找匹配的字符
    • n 向后继续查找
    • N 向前继续查找

Match parentheses

  • % 匹配word最近的括弧

Ohters

  • . 重复执行上一次操作(不包括撤销)
  • v 开启visual mode,可以利用movement进行选择
  • q[name] 开启命令寄存器
  • @[name] 执行命令寄存器

File Operations

  • :e <path> 打开一个文件