Skip to content

Vim

vim 是一个功能强大的文本编辑器,它在 Unix 和 Unix-like 系统中广泛使用。

以下是一些 vim 的常用命令和操作:

1. 启动 Vim

  • 打开一个文件(如果文件不存在,将创建它):

    sh
    vim filename.txt
  • 以只读模式打开文件:

    sh
    vim -R filename.txt

2. 进入和退出 Vim

  • 进入普通模式(如果不小心按错键,可以使用 Esc 退出插入模式):

    sh
    <Esc>
  • 退出 Vim(如果修改了文件,需要先保存):

    sh
    :q
  • 保存文件并退出 Vim:

    sh
    :wq
  • 保存文件但不退出 Vim:

    sh
    :w
  • 强制退出 Vim(不保存更改):

    sh
    :q!

3. 基本编辑

  • 进入插入模式,开始编辑文本:

    sh
    i  # 在光标位置插入文本
    I  # 在当前行首插入文本
    a  # 在光标后插入文本
    A  # 在当前行尾插入文本
    o  # 在当前行后插入新行并插入文本
    O  # 在当前行前插入新行并插入文本
  • 删除当前光标下的字符:

    sh
    x
  • 删除当前行:

    sh
    dd
  • 复制当前行到剪贴板:

    sh
    yy
  • 粘贴剪贴板的内容:

    sh
    p

4. 搜索和替换

  • 搜索文本(按 n/N 跳转到下一个/上一个匹配):

    sh
    /search_text
  • 全局搜索并替换文本(需要确认每个替换):

    sh
    :%s/old_text/new_text/g
  • 全局搜索并替换文本(无需确认):

    sh
    :%s/old_text/new_text/gc

5. 移动光标

  • 移动到行首:

    sh
    0
  • 移动到行尾:

    sh
    $
  • 移动到文档末尾:

    sh
    G
  • 移动到文档开头:

    sh
    gg
  • 向前(或向后)移动屏幕行:

    sh
    Ctrl + f  # 向前
    Ctrl + b  # 向后
  • 移动到下一个单词的开头:

    sh
    w
  • 移动到上一个单词的开头:

    sh
    b

6. 设置

  • 设置行号显示:

    sh
    :set number
  • 显示当前文件状态:

    sh
    :set?

7. 窗口分割

  • 垂直分割窗口:

    sh
    :vsplit
  • 水平分割窗口:

    sh
    :split
  • 关闭当前窗口:

    sh
    :q
  • 在分割的窗口间移动:

    sh
    Ctrl + w + 方向键

8. 使用 Vim 脚本

  • 执行 Vim 命令:

    sh
    :!
  • 例如,执行外部命令 ls

    sh
    :!ls
    • 录制宏(按 q 选择寄存器):

      sh
      q[a-z]
    • 停止录制宏:

      sh
      q
    • 执行宏:

      sh
      @[a-z]